Parsovanie a odovzdávanie argumentov do bash skriptov/shell skriptov je dosť podobné spôsobu, akým odovzdávame argumenty funkciám v Bash skriptoch. Uvidíme skutočný proces odovzdávania argumentov skriptu a tiež sa pozrieme na spôsob prístupu k týmto argumentom v skripte.
Odovzdávanie argumentov pred spustením
Parametre môžeme odovzdať hneď za názvom skriptu pri spustení príkazu bash interpreter. Do súboru môžete odovzdať parametre alebo argumenty. Len príkaz na normálne spustenie skriptu pridaním hodnoty parametrov priamo do skriptu. Každý parameter je hodnota oddelená medzerou, ktorá sa odovzdá skriptu shellu.
bash scriptname.sh>
Vyššie uvedený príkaz iba spustí skript bez odovzdania parametrov.
Zatiaľ čo príkaz uvedený nižšie odovzdá argumenty skriptu.
bash scriptname.sh parameter1 parameter2 parameter3 nth-parameter>

Spustený bash skript s odovzdávaním parametrov
národnosť peta davidsona
Vyššie uvedená snímka obrazovky zobrazuje parametre odovzdané skriptu, ako to urobíme, čo vysvetlíme v ďalšej časti. Ale práve teraz vidíme, že sme odovzdali parametre mimo skriptu pomocou premenných prostredia bash. Môžete dokonca použiť reťazce a iné typy údajov, ale dajte si pozor na medzery. Biely priestor urobí z premennej samostatný parameter. Najmä pri reťazcoch dávajte pozor, aby ste ich striktne uzavreli do úvodzoviek.
Detekcia argumentov príkazového riadku
Teraz uvidíme, ako pristupujeme k týmto parametrom v rámci skriptu. Použijeme počet odovzdaných parametrov v poradí, t. j. pre prvé odovzdané parametre analyzujeme (sprístupníme) parameter pomocou ako premennej. Prvý parameter je uložený v premennej . Okrem toho môžete túto premennú priradiť akejkoľvek inej premennej definovanej používateľom, ktorá sa vám páči. Pre odovzdaný n-tý parameter môžete použiť $n na prístup k tomuto konkrétnemu parametru. Tu názov premennej začína číslom 1, pretože názov súboru/skriptu je 0. parameter. Ak máte viac ako 9 parametrov, uistite sa, že okolo čísla používate { }, pretože bez zátvoriek, bash uvidí iba ako a vylúči 0, takže namiesto 10 $ použite atď.
#!/bin/bash echo '1st parameter = ' echo '2nd Parameter = '>
Vyššie uvedený skript môže pristupovať k parametrom z príkazového riadku/shell pomocou pozičných parametrov, ktorými sú 1, 2, 3 atď.

Prístup k argumentom zo skriptu.
Ako vidíte, na prístup k číslam premenných parametrov od 10 sme použili {}. Skript možno použiť pre cykly a cykly while na iteráciu parametrov, ale o tom budeme diskutovať v ďalších častiach.
Priraďte poskytnuté argumenty k premennej Bash
Môžeme ho tiež priradiť k iným vlastným premenným, aby bol skript dynamickejší a tvaroval ho podľa potrieb. Hoci vyššie uvedený skript pri spustení vypíše iba dva parametre, určite môžete pristupovať k viacerým parametrom pomocou premennej ako poradie parametrov v číslach. Skript môže pristupovať k pozičným premenným z príkazového riadku a použiť ich na požadovaných miestach, kdekoľvek je to potrebné v rámci skriptu.
#!/bin/bash a= b= p=$(($a*$b)) echo 'The product of $a and $b = $p'>

Priraďte poskytnuté argumenty k premennej Bash
Vyššie uvedený skript pristupuje k pozičným parametrom, t. j. a odovzdaným do skriptu a ukladá používateľom definované premenné, aby k nim neskôr pristupoval a podľa toho ich upravoval. K ďalším parametrom môžeme pristupovať aj pomocou iteračných metód, ako uvidíme v nasledujúcich častiach.
Máme tiež možnosť skontrolovať akékoľvek NULL alebo prázdne parametre odovzdané pomocou príznakov -z alebo -n. Z toho môžeme overiť, či boli parametre odovzdané alebo nie.
#!/bin/bash if [[ -z ]]; then echo 'No parameter passed.' else echo 'Parameter passed = ' fi>

Kontrola pozičných parametrov odovzdaných alebo nie.
Pomocou tohto skriptu môžeme zistiť, či boli odovzdané nejaké pozičné parametre alebo či nebolo odovzdané nič. Príznak -z kontroluje všetky NULL alebo neinicializované premenné v BASH. Príznak -z vráti hodnotu true, ak je odovzdaná premenná NULL alebo neinicializovaná. Na zistenie odovzdaných parametrov teda môžeme použiť základné príkazy If-else.
Môžeme tiež použiť príznak -n, ktorý vráti hodnotu true, ak nie sú zadané žiadne parametre, takže musíme použiť ! zvrátiť stav.
Takto:
#!/bin/bash if [[ ! -n ]]; then echo 'No parameter passed.' else echo 'Parameter passed = ' fi>
Tento skript tiež poskytne rovnaký výstup, ale namiesto -z používame príznak -n.
Čítanie viacerých argumentov pomocou cyklu For alebo While
Premenná @ môžeme použiť na prístup ku každému parametru odovzdanému skriptu cez príkazový riadok. Je to špeciálna premenná, ktorá obsahuje pole premenných v BASH. V tomto prípade ho používame samostatne, takže obsahuje pole odovzdaných pozičných parametrov. Môžeme ho použiť na iteráciu parametrov odovzdaných pomocou cyklov alebo cyklu while.
#!/bin/bash for i in $@ do echo -e '$i ' done>

Použitie slučiek a @ premennej na prístup k parametrom ako prvkom poľa.
Na iteráciu sme použili cyklus for založený na rozsahu, kým sa v poli @ nenachádzajú prvky. Jednoducho iterujeme pole a vytlačíme prvok. Môžeme ho jednoducho priradiť, upraviť hodnoty a vykonať požadované zmeny parametrov a argumentov, aby sme dosiahli požadovaný výsledok zo skriptu.
ALEBO
prvý notebook
Argumenty môžeme vytlačiť aj pomocou cyklu while a premenných prostredia BASH.
#!/bin/bash i=$(($#-1)) while [ $i -ge 0 ]; do echo ${BASH_ARGV[$i]} i=$((i-1)) done> 
Použitie cyklu while na iteráciu odovzdaných parametrov.
Používame premennú „ # ‘, pretože obsahuje počet odovzdaných parametrov. Inicializujeme počet parametrov a jeden odoberieme, pretože na iteráciu použijeme pole. Takže, ako obvykle, index poľa začína od 0. Keďže toto pole sa inicializuje od posledného odovzdaného prvku alebo parametra, musíme počítadlo dekrementovať až na 0, aby sa vytlačil každý parameter v poradí, v akom bol odovzdaný. Na prístup k parametrom a vytlačenie ich hodnoty jednoducho použijeme pole BASH_ARGV. Taktiež pri každej iterácii znížime hodnotu i- iterátora alebo počítadla o jednu pomocou aritmetických dvojitých zátvoriek. Z toho jednoducho vytlačíme každý parameter odovzdaný skriptu pomocou cyklu while, ako je znázornené na snímke výstupnej obrazovky.
Čítanie s názvami parametrov
Použitie getopts na analýzu argumentov a parametrov
Môžeme použiť program/príkaz getopts na analýzu argumentov odovzdaných skriptu v príkazovom riadku/terminálu pomocou slučiek a príkazov typu switch-case.
#!/bin/bash while getopts n:c: option do case '${option}' in n)nation=${OPTARG};; c)code=${OPTARG};; esac done echo 'Nation : $nation' echo 'code : $code'> 
Použitie getopts na analýzu argumentov a parametrov
Pomocou getopts môžeme priamo priradiť pozičné argumenty/parametre z príkazového riadku do premenných bash. To nám umožňuje spravovať parametre pekne a systematicky. Vo vyššie uvedenom skripte sme použili dva argumenty na uloženie premenných bash pomocou syntaxe getopts, zatiaľ čo slučky a príkazy typu switch-case.
Tlač hodnôt všetkých argumentov
Argumenty odovzdané skriptu môžeme vytlačiť pomocou jednoduchej výkonnej premennej „@“, ktorá ukladá všetky odovzdané parametre.
#!/bin/bash echo 'The arguments passed in are : $@'>

Tlač hodnôt všetkých argumentov
Prístup k počtu predaných parametrov
Na prístup k počtu parametrov odovzdaných z príkazového riadku môžeme použiť aj premennú ‚#‘. Premenná # v podstate obsahuje počet parametrov/argumentov, ktoré sa prenášajú do skriptu.
#!/bin/bash echo 'The number of arguments passed in are : $#'>

Prístup k počtu predaných parametrov
Nasledoval proces a špecifikácia odovzdávania a analýzy premenných v bash skripte. Logika posúvania a vykonávania úprav premenných je v rukách používateľa. Toto bola len ukážka odovzdávania a analýzy argumentov z príkazového riadku do skriptu, aby boli dynamickejšie.