Wenn ein Kommando, in unserem Fall das eigene Script, aufgerufen wird, so scannt die shell die Eingabezeile und interpretiert diese. Wurden dem Kommando einzelne Parameter mitgegeben, so speichert die bash den expandierten Inhalte der Parameter in speziellen Variablen, den Positionsparametern ab. Diese können dann innerhalb des Scripte gelesen werden. Der Positionsparameter $0 enthält den Namen mit dem das Script gestartet wurde und die Parameter $1 $2 $3 ... enthalten die beim Start des Scriptes mitgegebenen Parameter. Es gibt noch weitere Positionsparameter, die hier erläutert werden. Um die Parameter zu nutzen, werden wir sie in echo-Anweisungen einbauen. Es wird sehr schnell klar, das das Quoting durch Anführungszeichen nicht für das Sonderzeichen $ gilt. Damit kann die shell die Positionsparameter im gequoteten echo-Parameter erkennen und expandieren. Um die Wirkungsweise der verschiedenen Arten des Quotings zu zeigen, habe ich zwei unterschiedlich gequotete Zeilen mit eingefügt. Das Script sieht nun so aus:
#!/bin/bash echo "Das Script $0 wurde aufgerufen" echo "Es wurden $# Parameter gelesen" echo "Es handelt sich um die Parameter $*" echo 'Hier wird nichts expandiert $0 $1 $2' echo "Hier nur ein Teil \$0 $1 \$2 $*" echo "Hello $1" |
bash-2.05b$ ./test frank thoms |
|
Sollte jemand seine Rechte durch eine Veröffentlichung auf dieser oder einer anderen meiner Seiten verletzt sehen, bitte ich um sofortige Kontaktaufnahme.
Ich werde die entsprechenden Inhalte umgehend entfernen.
Somit sind sowohl ein anwaltlicher Rat als auch eine kostenpflichtige Abmahnung nicht erforderlich!
Weiterhin weise ich darauf hin, dass der Inhalt verlinkter Seiten nicht in meiner redaktionellen Verantwortung liegt. |
www.schlaefendorf.de 2012