Korištenje varijabli argumenta:
Argument varijabla počinje od 0 USD. Ime glavne datoteke skripte pohranjeno je u $ 0 koje prima vrijednosti argumenata iz argumenata naredbenog retka. Ako se u naredbeni redak proslijede dva argumenta, vrijednosti argumenata će se primati u varijablama $ 1 i $ 2 uzastopno.
Primjer -1: Slanje tri numeričke vrijednosti kao argumenata
Napravite bash datoteku i dodajte sljedeći kod. Skripta će primiti tri vrijednosti argumenta i pohraniti je u $ 1, $ 2 i $ 3. Brojat će ukupan broj argumenata, ispisivati vrijednosti argumenata s petljom i bez petlje. Na kraju ispišite zbroj svih vrijednosti argumenata.
#!/bin/bash
# Brojanje ukupnog broja argumenata
izbaciti 'Ukupan broj argumenata: $#'
# Pojedinačno čitanje vrijednosti argumenata
izbaciti 'Vrijednost prvog argumenta: $ 1'
izbaciti 'Vrijednost drugog argumenta: 2 USD'
izbaciti 'Vrijednost trećeg argumenta: 3 USD'
# Čitanje vrijednosti argumenata pomoću petlje
zaargvalu '[zaštićena e -pošta]'
čini
izbaciti -n '$ argval'
učinjeno
# Dodavanje vrijednosti argumenata
iznos= $((1 USD+2 USD+3 USD))
# ispišite rezultat
izbaciti -I ' nRezultat zbroja =$ zbroj'
Pokrenite bash datoteku s tri numeričke vrijednosti argumenta.
$bashcmdline1.shpedeset 35 petnaest
Primjer -2: Uzimanje naziva datoteke kao argumenta
Napravite bash datoteku i dodajte sljedeći kôd za brojanje ukupnog broja znakova bilo koje datoteke. Ovdje će se naziv datoteke proslijediti kao argument naredbenog retka.
#!/bin/bashnaziv datoteke=1 USD
totalchar=``zahod -c $ naziv datoteke``
izbaciti 'Ukupan broj znakova je$ totalchar'
Pokrenite bash skriptu s imenom datoteke kao vrijednost jednog argumenta i izvedite drugu naredbu za provjeru ukupnog broja znakova te datoteke. Ovdje se datoteka zaposlenika.txt koristi kao vrijednost argumenta. Ukupan broj znakova datoteke zaposlenih.txt je 204.
$bashcmdline2.sh zaposlenik.txt
$zahod -czaposlenik.txt
Korištenje funkcije getopts:
Ako želite pohraniti podatke u bazu podataka ili bilo koju datoteku ili izraditi izvješće o određenom formatu na temelju vrijednosti argumenata naredbenog retka, tada getopti funkcija je najbolja opcija za obavljanje zadatka. To je ugrađena linux funkcija. Dakle, ovu funkciju možete lako koristiti u skripti za čitanje formatiranih podataka iz naredbenog retka.
Primjer -1: Čitanje argumenata pomoću funkcije getopts
Napravite bash datoteku i dodajte sljedeću skriptu da biste razumjeli upotrebu getopti funkcija. Funkcija 'getopts' koristi se s while petljom za čitanje opcija argumenata naredbenog retka i vrijednosti argumenata. Ovdje se koriste 4 opcije koje su 'u M' i 'I' . Naredba case koristi se za podudaranje s određenom opcijom i spremanje vrijednosti argumenta u varijablu. Na kraju ispišite vrijednosti varijable.
#!/bin/bashdok getopti ':u meni:'ljut;čini
slučaj $ arg u
i) iskaznica=$ OPTARG;;
n) Ime=$ OPTARG;;
m) Datum proizvodnje=$ OPTARG;;
I) Rok trajanja=$ OPTARG;;
esac
učinjeno
izbaciti -I ' n$ ID $ Name $ Manufacturing_date $ Expire_date n'
Pokrenite datoteku sa sljedećim opcijama i vrijednostima argumenata. Ovdje je p100 vrijednost -i opcije, 'Hot Cake' je vrijednost -n opcije, '01 -01-2018 'je vrijednost -m opcije i '06 -01-2018' je vrijednost - e opciju.
$bashcmdline3.sh-ip001-n 'Vrući kolač' -m '01 -01-2018 ' -I '06 -01-2018 '
Kad trebate poslati jednostavne vrijednosti u skripti, bolje je koristiti varijable argumenata. No, ako želite slati podatke na formatiran način, bolje je upotrijebiti funkciju getopts za dohvaćanje vrijednosti argumenata. Za više informacija pogledajte video !