Bash Stellungsparameter
Stellungsparameter (Spezielle Variablen)
Den Stellungsparametern $1, $2, ..., $9 werden bei ihrer Definition nach ihrer Reihenfolge Werte zugewiesen. Die Definition erfolgt mit dem Kommando set', einem Skript - oder Prozeduraufruf .
Ihr Geltungsbereich ist lokal, d.h. sie gelten nur in der aktuellen bash und können nicht exportiert werden.
Belegen der Variablen mittels set
- set der fck ist eine klasse Mannschaft
- echo $1 $2 $3
der fck ist
- echo $5 $6 $7
eine klasse Mannschaft
- set unser fcs ist aber auch ok
- echo $1 $2 $3
unser fcs ist
Belegen der Variablen durch einen Skriptaufruf
Die Variablen werden automatisch beim Skriptaufruf belegt, indem sie als Argumente dem Skript übergeben werden.
- cat skript1
#!/bin/bash
echo "1 parameter $1"
echo "2 parameter $2"
echo "3 parameter $3"
echo "4 parameter $4"
echo "alle parameter $*"
echo "alle parameter $@"
echo "anzahl parameter $#"
echo "skriptname $0"
echo "PID des skriptes $$"
echo "Rückgabewert letztes Kommando $?"
- ./skript1 blau gruen gelb rot
1 parameter blau 2 parameter gruen 3 parameter gelb 4 parameter rot alle parameter blau gruen gelb rot alle parameter blau gruen gelb rot anzahl parameter 4 skriptname ./skript1 PID des skriptes 1019 Rückgabewert letztes Kommando 0
Systemparameter
Der Begriff Systemparameter bezeichnet eine Variable, die von der bash automatisch mit Werten versorgt wird. Die aktuellen Werte können vom Benutzer abgefragt werden.
Einige wichtige Systemparameter:
| $$ | PID des laufenden Prozesses |
| $! | PID des letzten Hintergrundprozesses |
| $- | Liste der für die bash gesetzten Schalter |
| $? | Exitstatus des letzten Kommandos |
| $# | Anzahl der Stellungsparameter |
| $* | Liste der Stellungsparameter |
| $0 | Aktueller Prozessname |
shift-Kommando
Das Kommando bewirkt die Verschiebung aller Stellungsoperanden um eine Stelle nach links. Auf diese Weise ist nach der Anwendung des shift-Kommandos der Wert des 10ten Parameters in $9, der ursprüngliche Wert von $1 ist verloren. Die Stellenanzahl, um die verschoben wird, kann angegeben werden, z. B. bewirkt der Befehl shift 4 das Verschieben um 4 Stellen nach links.
- set hallo ihr guten admins von der schule hier
- echo $1 $2 $3 $4
hallo ihr guten admins
- shift
- echo $1 $2 $3 $4
ihr guten admins von
- shift 3
- echo $1 $2 $3 $4
von der schule hier