Parametr je entita, která ukládá hodnoty. Může to být jméno, číslo nebo nějaké speciální znaky. Proměnná je parametr označený jménem. Některé proměnné jsou pro vás již nastaveny a většině z nich nelze přiřadit hodnoty.
Tyto proměnné obsahují užitečné informace, které mohou být použity skriptem shellu, aby věděl o prostředí, ve kterém běží.
Bash poskytuje dva druhy parametrů.
- Poziční parametr
- Zvláštní parametr
V tomto článku si proberme poziční parametr bash s příklady.
Tento článek je součástí naší probíhající série výukových programů pro bash.
Příklad 1:Bashův poziční parametr – $0, $1, $2 ..
Poziční parametry jsou argumenty dané vašim skriptům při jejich vyvolání. Může to být od 1 do $ N. Pokud se N skládá z více než jedné číslice, musí být uzavřeno ve složených závorkách, například ${N}.
Proměnná $0 je základní název programu, jak byl nazván.
Následující příklad obsahuje dva argumenty a poskytuje výsledek aritmetických operací mezi těmito dvěma celými čísly.
Nejprve vytvořte skript shellu aritmetic.sh, jak je znázorněno níže.
$ 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"
Dále spusťte aritmetický.sh se správnými parametry, jak je uvedeno níže.
$ ./arithmetic.sh 12 10 $1=12 $2=10 Addition=22 Subtraction=2 Multiplication=120 Division=1
Ve výše uvedeném výstupu má $1 hodnotu 12 a $2 má 10.
Shell vestavěný „let“ umožňuje provádět aritmetické operace s proměnnými shellu. Výše uvedený skript provádí aritmetické operace, jako je sčítání, odčítání, násobení a dělení s danými parametry.
Příklad 2:Nastavení/zrušení nastavení Bash pozičních parametrů
Vestavěný příkaz set se používá k nastavení a zrušení nastavení parametru polohy.
Nejprve vytvořte skript shell positional.sh, jak je znázorněno níže.
$ 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"
Výše uvedený skript nejprve vypíše argumenty příkazového řádku a poté příkaz set explicitně nastaví poziční parametr. Nastavení s – odkazuje na konec možností, všechny následující argumenty jsou pozičními parametry, i když mohou začínat „-“. Nastavení pomocí „–“ bez jakýchkoli dalších argumentů zruší nastavení všech pozičních parametrů.
Dále spusťte positional.sh, jak je ukázáno níže.
$ ./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=
V příštím článku si probereme speciální parametry bash s příklady.