geist_der_foren Geschrieben 8. Dezember 2003 Geschrieben 8. Dezember 2003 Hi @all, kann mir mal jeman erklären, was das SHIFT genau macht ??? Ich hab das noch nicht so ganz vertsanden ...
nic_power Geschrieben 8. Dezember 2003 Geschrieben 8. Dezember 2003 Hallo, Um auf die Argumente eines Shell-Skriptes zugreifen zu können, kannst Du mit $0, $1 ... $9 usw. arbeiten ($0 ist der Name des Skriptes). Dies funktioniert allerdings nur bis $9, möchtest Du auf ein weiteres Argument zugreifen, so kannst Du mit SHIFT arbeiten. "shift 1" verschiebt die Argumente um eins nach links, d.h. $1 wird zu $2, $2 zu $3 usw. Dies erlaubt Dir, mehr als neun Argumente zu verarbeiten. Nic
geist_der_foren Geschrieben 9. Dezember 2003 Autor Geschrieben 9. Dezember 2003 Achso, jetzt verstehe ich ... Aber wieso wird in diesem Skript einen SHIFT benutzt ... if [ "$1" == "-t" ] ; then test="yes" [COLOR=red]shift 2[/COLOR] fi while [[ $1 == -* ]] do case "$1" in -u) uid="$2" ;; -g) gid="$2" ;; -G) sgids="$2" ;; -d) home="$2" ;; -c) com="$2" ;; -s) shell="$2" ;; -k) profdir="$2" ;; *) echo "Optionen: -ugGdcsk (man useradd)" && exit 1 ;; esac [COLOR=red]shift 2[/COLOR] done
geist_der_foren Geschrieben 9. Dezember 2003 Autor Geschrieben 9. Dezember 2003 Noch eine frage: Wie ist das eigentlich, wenn ich jetzt zum Beispiel folgedes weg lasse, kann ich dann in der while Schleife, das shif2 lassen ? if [ "$1" == "-t" ] ; then test="yes" [COLOR=red]shift 2[/COLOR] fi
Crush Geschrieben 9. Dezember 2003 Geschrieben 9. Dezember 2003 Es werden immer die Parameter beim Aufruf um 2 Positionen (Pos.1:)-(BUCHSTABE) (Pos.2:) PARAMETER nach links rausgeshiftet (geschoben) und die nächsten 2 liegen an falls man mehrere hat. Bei der 2. Frage solltest Du nur um 1 shiften und wenigstens einen Abbruchparameter einbauen (dazu war die while-Schleife auch da).
geist_der_foren Geschrieben 9. Dezember 2003 Autor Geschrieben 9. Dezember 2003 achso ... jetzt habe ich das verstanden, klar ... wenn die while schleife nicht da wär, dann bricht er ja sofort ab ... Danke für die hilfe :bimei
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden