GNU/Linux >> Znalost Linux >  >> Linux

Bash poziční parametry vysvětlené pomocí 2 příkladů shell skriptů

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.


Linux
  1. Parametry příkazového řádku ve skriptech shellu

  2. Je možné, aby skript bash shell interagoval s jiným programem příkazového řádku?

  3. Variabilní rozsah pro skripty bash shell a funkce ve skriptu

  1. Bash -c s pozičními parametry?

  2. Sdílení proměnných ve více skriptech Shell?

  3. Jak zopakovat nový řádek ve skriptech Bash Shell

  1. Speciální parametry Bash vysvětlené pomocí 4 příkladů shellových skriptů

  2. Jak zacházet s více než 10 parametry v shellu

  3. zkontrolujte, zda je argument platným datem v bash shellu