Ein Parameter ist eine Entität, die Werte speichert. Dies kann ein Name, eine Nummer oder einige Sonderzeichen sein. Eine Variable ist ein Parameter, der durch einen Namen bezeichnet wird. Einige Variablen sind bereits für Sie festgelegt, und den meisten von ihnen können keine Werte zugewiesen werden.
Diese Variablen enthalten nützliche Informationen, die von einem Shell-Skript verwendet werden können, um Informationen über die Umgebung zu erhalten, in der es ausgeführt wird.
Bash bietet zwei Arten von Parametern.
- Positionsparameter
- Spezialparameter
Lassen Sie uns in diesem Artikel über Bash-Positionsparameter mit den Beispielen diskutieren.
Dieser Artikel ist Teil unserer fortlaufenden Bash-Tutorial-Reihe.
Beispiel 1:Bash-Positionsparameter – $0, $1, $2 ..
Positionsparameter sind die Argumente, die Ihren Skripts beim Aufrufen übergeben werden. Es könnte von $1 bis $N sein. Wenn N aus mehr als einer Ziffer besteht, muss es in geschweiften Klammern wie ${N}.
eingeschlossen werdenDie Variable $0 ist der Basisname des Programms, wie es hieß.
Das folgende Beispiel erhält zwei Argumente und liefert das Ergebnis arithmetischer Operationen zwischen diesen beiden Ganzzahlen.
Erstellen Sie zuerst das Shell-Skript arithmetic.sh wie unten gezeigt.
$ cat arithmetic.sh #!/bin/bash echo -e "\$1=$1" echo -e "\$2=$2" let add=$1+$2 let sub=$1-$2 let mul=$1*$2 let div=$1/$2 echo -e "Addition=$add\nSubtraction=$sub\nMultiplication=$mul\nDivision=$div\n"
Als nächstes führen Sie arithmetic.sh mit den richtigen Parametern aus, wie unten gezeigt.
$ ./arithmetic.sh 12 10 $1=12 $2=10 Addition=22 Subtraction=2 Multiplication=120 Division=1
In der obigen Ausgabe hat $1 den Wert 12 und $2 den Wert 10.
Das in die Shell eingebaute „let“ ermöglicht die Ausführung arithmetischer Operationen an Shell-Variablen. Das obige Skript führt die arithmetischen Operationen wie Addition, Subtraktion, Multiplikation und Division mit den angegebenen Parametern aus.
Beispiel 2:Bash-Positionsparameter setzen/löschen
Der eingebaute Set-Befehl wird verwendet, um den Positionsparameter zu setzen und zu löschen.
Erstellen Sie zuerst das Shell-Skript positional.sh wie unten gezeigt.
$ cat positional.sh #!/bin/bash # From command line echo -e "Basename=$0" echo -e "\$1=$1" echo -e "\$2=$2" echo -e "\$3=$3" # From Set builtin set First Second Third echo -e "\$1=$1" echo -e "\$2=$2" echo -e "\$3=$3" # Store positional parameters with -(hyphen) set - -f -s -t echo -e "\$1=$1" echo -e "\$2=$2" echo -e "\$3=$3" # Unset positional parameter set -- echo -e "\$1=$1" echo -e "\$2=$2" echo -e "\$3=$3"
Das obige Skript gibt zuerst die Befehlszeilenargumente aus, dann setzt der Befehl set den Positionsparameter explizit. Set mit dem – bezieht sich auf das Ende von Optionen, alle folgenden Argumente sind Positionsparameter, auch wenn sie mit „-“ beginnen können. Setzen Sie mit „–“ ohne andere Argumente und setzen Sie alle Positionsparameter zurück.
Als nächstes führen Sie positional.sh wie unten gezeigt aus.
$ ./positional.sh Basename=t.sh $1=12 $2=10 $3= $1=First $2=Second $3=Third $1=-f $2=-s $3=-t $1= $2= $3=
Lassen Sie uns im nächsten Artikel über spezielle Bash-Parameter mit Beispielen diskutieren.