Použití proměnných argumentů:
Proměnná argumentu začíná od $ 0. Název hlavního souboru skriptu je uložen v $ 0, který přijímá hodnoty argumentů z argumentů příkazového řádku. Pokud jsou na příkazovém řádku předány dva argumenty, budou hodnoty argumentů přijímány postupně v proměnných $ 1 a $ 2.
Příklad -1: Odeslání tří číselných hodnot jako argumentů
Vytvořte bash soubor a přidejte následující kód. Skript obdrží tři hodnoty argumentů a uloží je do $ 1, $ 2 a $ 3. Bude počítat celkový počet argumentů, vytiskne hodnoty argumentů se smyčkou a bez smyčky. Nakonec vytiskněte součet všech hodnot argumentů.
#!/bin/bash
# Počítání celkového počtu argumentů
vyhodil 'Celkový počet argumentů: $#'
# Čtení hodnot argumentů jednotlivě
vyhodil „Hodnota prvního argumentu: $ 1“
vyhodil „Druhá hodnota argumentu: $ 2“
vyhodil 'Třetí hodnota argumentu: $ 3'
# Čtení hodnot argumentů pomocí smyčky
proargvalv '[email protected]'
dělat
vyhodil -n '$ argval'
Hotovo
# Přidání hodnot argumentů
součet= $((1 $+2 $+3 $))
# vytiskněte výsledek
vyhodil -A ' nVýsledek součtu =$ součet'
Spusťte soubor bash se třemi hodnotami číselných argumentů.
$bashcmdline1.shpadesátka 35 patnáct
Příklad -2: Vezmeme název souboru jako argument
Vytvořte soubor bash a přidáním následujícího kódu spočítejte celkový počet znaků libovolného souboru. Zde bude název souboru předán jako argument příkazového řádku.
#!/bin/bashnázev souboru=1 $
totalchar=``toaleta -C $ název_souboru``
vyhodil 'Celkový počet znaků je.'$ totalchar'
Spusťte skript bash s názvem souboru jako hodnotou jediného argumentu a spusťte další příkaz, abyste zkontrolovali celkový počet znaků daného souboru. Zde se jako hodnota argumentu použije soubor employee.txt. Celkový počet znaků souboru employee.txt je 204.
$bashcmdline2.sh employee.txt
$toaleta -Cemployee.txt
Použití funkce getopts:
Pokud chcete ukládat data do databáze nebo jakéhokoli souboru nebo vytvořit sestavu v určitém formátu na základě hodnot argumentů příkazového řádku, pak getopts funkce je nejlepší volbou pro provedení úkolu. Je to vestavěná funkce linuxu. Tuto funkci tedy můžete ve skriptu snadno použít ke čtení formátovaných dat z příkazového řádku.
Příklad -1: Čtení argumentů funkcí getopts
Vytvořte soubor bash a přidejte následující skript, abyste porozuměli používání getopts funkce. Funkce „getopts“ se používá se smyčkou while pro čtení možností argumentů příkazového řádku a hodnot argumentů. Zde se používají 4 možnosti, které jsou „Já“, „n“, „m“ a 'A' . příkaz case se používá k přiřazení konkrétní možnosti a uložení hodnoty argumentu do proměnné. Nakonec vytiskněte hodnoty proměnné.
#!/bin/bashzatímco getopts ':ve mě:'rozzlobený;dělat
případ $ arg v
já) ID=$ OPTARG;;
n) název=$ OPTARG;;
m) Datum výroby=$ OPTARG;;
A) Datum spotřeby=$ OPTARG;;
esac
Hotovo
vyhodil -A ' n$ ID $ Jméno $ Datum výroby $ Expire_date n'
Spusťte soubor s následujícími možnostmi a hodnotami argumentů. Zde p100 je hodnota volby -i, 'Hot Cake' je hodnota -n možnosti, '01 -01-2018 'je hodnota -m možnosti a '06 -01-2018' je hodnota - e možnost.
$bashcmdline3.sh-ip001-n 'Horký dort' -m '01 -01-2018 ' -A '06 -01-2018 '
Když potřebujete odeslat jednoduché hodnoty ve skriptu, je lepší použít argumentové proměnné. Pokud však chcete odesílat data formátovaným způsobem, je lepší k načtení hodnot argumentů použít funkci getopts. Pro více informací sledujte video !