installscript für pkgsrc

Software besorgen und anwenden
Antworten
Nachricht
Autor
Benutzeravatar
!r0nY
Beiträge: 74
Registriert: 20. Aug 2005 13:51

installscript für pkgsrc

#1 Beitrag von !r0nY » 13. Jun 2006 11:12

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: Alles auswählen

#!/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

klopskuchen
prolinux-forum-admin
Beiträge: 1444
Registriert: 26. Jun 2004 21:18
Kontaktdaten:

#2 Beitrag von klopskuchen » 13. Jun 2006 11:56

was muss ich tun um das script ohne sh aufrufen zukönnen?
Die Datei ausführbar machen: chmod +x dein_script
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: Alles auswählen

#!/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 .

Benutzeravatar
!r0nY
Beiträge: 74
Registriert: 20. Aug 2005 13:51

#3 Beitrag von !r0nY » 13. Jun 2006 19:31

danke, du hast mir sehr weitergeholfen...
aber wofür ist denn diese anweisung genau??

Code: Alles auswählen

if [ $# -lt 1 ]; then
     echo "Nuescht eingegeben, besoffen? ;-)"
     exit 1
fi 
und was bedeutet das exit 0 am ende...

H-A

#4 Beitrag von H-A » 13. Jun 2006 22:52

Wiederholung:
Darin wird die Anzahl der übergebenen Parameter gespeichert.

Steht aber doch schon im Text.

klopskuchen
prolinux-forum-admin
Beiträge: 1444
Registriert: 26. Jun 2004 21:18
Kontaktdaten:

#5 Beitrag von klopskuchen » 13. Jun 2006 22:53

Code: Alles auswählen

# 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 .

Antworten