Pro-Linux.de

Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 20. Nov 2018 18:54

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: installscript für pkgsrc
BeitragVerfasst: 13. Jun 2006 11:12 
Offline
Benutzeravatar

Registriert: 20. Aug 2005 13:51
Beiträge: 74
hallo,

ich finde es bei pkgsrc sehr umständlich, das man immer in den ordner der software wechseln muss, die man sich installieren will, daher habe ich ein script geschrieben, was dies vereinfachen soll. habe dazu aber noch eine frage.
Code:
#!/bin/sh

read name

cd `find /usr/pkgsrc -type d -name $name`

bmake
bmake install
bmake clean
bmake clean-depends

unset name
mich stört, das ich das script mit sh aufrufen muss...
was muss ich tun um das script ohne sh aufrufen zukönnen?

mich stört, das ich erst nach aufruf des scripts den namen der software eingeben kann, die ich installieren möchte...
was muss ich tun, das ich den namen der software direkt hinter den aufruf des scripts schreiben kann?

in der endkonsequenz soll das script so funktionieren, dass ich in der command-line
z.b. pkg_install nano
eingeben kann und das durch diesen aufruf nano installiert wird

ich hoffe ihr könnt mir helfen... mir würde auch ein link reichen, wo ich mich ein bischen über script programmierung belesen kann

danke


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13. Jun 2006 11:56 
Offline
prolinux-forum-admin

Registriert: 26. Jun 2004 21:18
Beiträge: 1444
Zitat:
was muss ich tun um das script ohne sh aufrufen zukönnen?
Die Datei ausführbar machen: chmod +x dein_script
Zitat:
was muss ich tun, das ich den namen der software direkt hinter den aufruf des scripts schreiben kann?
Beispiel: Der Aufruf lautet ./dein_script li la lo
Dann sieht das innerhalb des Scriptes so aus:
$0 ist der Scriptname (weil erster String des Aufrufs)
$1 enthält den String "li" (zweiter String im Aufruf)
$2 enthält "la"
und so weiter
($# enthält die Anzahl der Argumente, in diesem Fall 3(ab der 0 gezählt))
Code:
#!/bin/sh
 
if [ $# -lt 1 ]; then
     echo "Nuescht eingegeben, besoffen? ;-)"
     exit 1
fi
 
cd `find /usr/pkgsrc -type d -name $1`
bmake
bmake install
bmake clean
bmake clean-depends

exit 0;

MfG, Klopskuchen

edit
Das "exit 1" im if-Zweig hab ich noch nachträglich reingeschmuggelt, vorhin vergessen.

_________________
When all else fails, read the instructions .


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13. Jun 2006 19:31 
Offline
Benutzeravatar

Registriert: 20. Aug 2005 13:51
Beiträge: 74
danke, du hast mir sehr weitergeholfen...
aber wofür ist denn diese anweisung genau??
Code:
if [ $# -lt 1 ]; then
     echo "Nuescht eingegeben, besoffen? ;-)"
     exit 1
fi 
und was bedeutet das exit 0 am ende...


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13. Jun 2006 22:52 
Wiederholung:
Darin wird die Anzahl der übergebenen Parameter gespeichert.

Steht aber doch schon im Text.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13. Jun 2006 22:53 
Offline
prolinux-forum-admin

Registriert: 26. Jun 2004 21:18
Beiträge: 1444
Code:
# wenn [ "Anzahl Kommandozeilenstrings" -kleiner_als 1 ]; dann
if [ $# -lt 1 ]; then
# Schreibe auf Bildschirem "Nuescht ...."
     echo "Nuescht eingegeben, besoffen? ;-)"
# Beende das Script mit Wert "FALSE"
     exit 1
fi
Das "exit 0" am Ende heiß "Beende und gib 0 an den Aufrufer zurück", also Exitstatus "TRUE".


MfG, Klopskuchen

_________________
When all else fails, read the instructions .


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de