Použitie premenných argumentov:
Premenná argumentu začína od 0 dolárov. Názov hlavného súboru skriptu je uložený v $ 0, ktorý prijíma hodnoty argumentov z argumentov príkazového riadka. Ak sú do príkazového riadka odovzdané dva argumenty, hodnoty argumentov budú prijaté v premenných $ 1 a $ 2 postupne.
Príklad -1: Odoslanie troch číselných hodnôt ako argumentov
Vytvorte súbor bash a pridajte nasledujúci kód. Skript dostane tri hodnoty argumentov a uloží ho v $ 1, $ 2 a $ 3. Bude počítať celkový počet argumentov, tlačiť hodnoty argumentov so slučkou a bez slučky. Nakoniec vytlačte súčet všetkých hodnôt argumentov.
#!/bin/bash
# Počítanie celkového počtu argumentov
zahodil „Celkový počet argumentov: $#“
# Čítanie hodnôt argumentov jednotlivo
zahodil „Prvá hodnota argumentu: 1 dolár“
zahodil „Druhá hodnota argumentu: 2 doláre“
zahodil „Hodnota tretieho argumentu: 3 doláre“
# Čítanie hodnôt argumentov pomocou slučky
preargvalv '[email protected]'
urobiť
zahodil -n '$ argval'
hotový
# Pridávanie hodnôt argumentov
súčet= $((1 dolár+2 doláre+3 doláre))
# vytlačte výsledok
zahodil -A ' nVýsledok súčtu =$ súčet'
Spustite súbor bash s tromi hodnotami číselných argumentov.
$bashcmdline1.shpäťdesiat 35 pätnásť
Príklad -2: Ako názov súboru sa použije názov súboru
Vytvorte súbor bash a pridajte nasledujúci kód na spočítanie celkového počtu znakov akéhokoľvek súboru. Tu bude názov súboru odoslaný ako argument príkazového riadka.
#!/bin/bashnázov súboru=1 dolár
totalchar=“wc -c $ názov súboru“
zahodil „Celkový počet znakov je$ totalchar'
Spustite skript bash s názvom súboru ako hodnotou jedného argumentu a spustením iného príkazu skontrolujte celkový počet znakov v tomto súbore. Tu sa ako hodnota argumentu použije súbor employee.txt. Celkový počet znakov súboru employee.txt je 204.
$bashcmdline2.sh employee.txt
$wc -czamestnanec.txt
Použitie funkcie getopts:
Ak chcete uložiť údaje do databázy alebo akéhokoľvek súboru alebo vytvoriť správu v konkrétnom formáte na základe hodnôt argumentov príkazového riadka, potom getopts funkcia je najlepšou možnosťou na vykonanie úlohy. Je to vstavaná funkcia Linuxu. Túto funkciu teda môžete vo svojom skripte ľahko použiť na čítanie formátovaných údajov z príkazového riadka.
Príklad -1: Čítanie argumentov funkciou getopts
Vytvorte súbor bash a pridaním nasledujúceho skriptu pochopíte používanie getopts funkciu. Funkcia „getopts“ sa používa so slučkou while na čítanie možností argumentov a hodnôt argumentov príkazového riadka. Tu sa používajú 4 možnosti, ktoré sú „Ja“, „n“, „m“ a „A“ . príkaz case sa používa na priradenie konkrétnej možnosti a uloženie hodnoty argumentu do premennej. Nakoniec vytlačte hodnoty premennej.
#!/bin/bashkým getopts ':vo mne:'nahnevaný;urobiť
prípad $ arg v
i) ID=$ OPTARG;;
n) názov=$ OPTARG;;
m) Dátum výroby=$ OPTARG;;
A) Dátum expirácie=$ OPTARG;;
esac
hotový
zahodil -A ' n$ ID $ Meno $ Manufacturing_date $ Expire_date n'
Spustite súbor s nasledujúcimi možnosťami a hodnotami argumentov. Tu je p100 hodnota -i možnosti, 'Hot Cake' je hodnota -n možnosti, '01 -01-2018 'je hodnota -m možnosti a '06 -01-2018' je hodnota - e možnosť.
$bashcmdline3.sh-ip001-n 'Horúci koláč' -m '01 -01-2018 ' -A '06 -01-2018 '
Ak potrebujete odoslať jednoduché hodnoty v skripte, je lepšie použiť premenné argumentov. Ak však chcete odosielať údaje formátovaným spôsobom, je lepšie použiť na získanie hodnôt argumentov funkciu getopts. Pre viac informácií sledujte video !