Asukohaparameetreid salvestavad muutujad
Positsionaalseid parameetreid kasutava kesta tüüpiline näide on bash. Võite kasutada bash-i Linux, BSD, MacOS X ja Windows 10.
Vaadake järgmist bash-käsku. Käsu nimi on mycommand . Käsureal on kolm parameetrit: üks, kaks ja kolm .
mulle üks kaks "kolm nelja"
Näpunäide: positsiooniparameetrid piiritletakse tühikuga. Koor tõlgendab asju pärast tühikuid kui individuaalseid parameetreid. Kui parameeter sisaldab ruumi, lisage see jutumärkidesse, nagu ülalpool "kolm nelja".
Kuigi mycommand töötab, pakub bash sellele järgnevaid kestamuutujaid :
Muutuja nimi | Väärtus |
---|---|
$ 0 | mycommand |
$ 1 | üks |
$ 2 | kaks |
$ 3 | kolm nelja |
$ # | 3 |
[email kaitstud] | üks kaks kolm neli |
$ * | üks kaks kolm neli |
Muutuja $ 0 on määratud käsu esimesele sõnale - käsu nimele. See muutuja on kasulik, sest käske saab ümber nimetada või teostada sümboolse lingi abil. Mõned programmid käituvad erinevalt sõltuvalt programmi käivitamiseks kasutatavast käsu nimest. $ 0 võimaldab programmil näha, milline käsu nimi on käivitatud.
Muutujad $ 1, $ 2 ja $ 3 sisaldavad vastavalt esimese, teise ja kolmanda parameetri väärtusi. Neljanda parameetri olemasolu korral paigutatakse selle väärtus muutujasse $ 4 . Parameetreid, mis on suuremad kui 9, on võimalik kasutada numbri ümber lokkis traksid; näiteks oleks $ {10} kümnes parameeter ja $ {123} oleks 123.
Muutuja $ # sisaldab positsiooniparameetrite arvu, va $ 0.
Muutuja [email protected] sisaldab kõigi positsiooniparameetrite väärtust, va $ 0.
Muutuja $ * on sama, mis [kaitstud e-posti teel], välja arvatud juhul, kui see on topelt tsiteeritud. Kahe tsitaadi korral laieneb $ * $ 1c $ 2c $ 3c ... kus c on $ IFS-i, bash-i sisemise välieraldaja muutuja esimene märk. IFS-i kasutatakse sõna jagamiseks ja selle vaikeväärtus on "space, tab või newline" - see on koht, kus bash näeb ühe sõna lõppu ja järgmise algust.
Kui $ IFS väärtus on " _ " (allajoon), laieneb "[email protected]" :
üks kaks kolm neli
Kuna "$ *" laieneb:
üks kaks kolm neli
Näited
Siin on mõned näited positsiooniparameetrite kasutamisest bashis.
Rakendatud sisseehitatud käsu abil saab [e-posti kaitstud] väärtust praeguse kestuse jaoks muuta. Kõik pärast seadistamist registreeritakse positsiooniparameetrina.
set - üks kaks "kolm nelja"
Nüüd on võimalik nende muutujate üle kordada, kasutades ... in :
arg jaoks [email protected]; echo "$ arg"; tehtud
üks kaks kolm neli
Bash'is on [email protected] vaikimisi loend, mida iteriseeritakse, nii et see käsk toimib ka:
arg jaoks; echo "$ arg"; tehtud
üks kaks kolm neli
"$ *" (Koos tsiteeritud jutumärkidega) sisestamine annab positsiooniparameetrite kokkuvõtliku rea, mis on ühendatud $ IFS esimese märgiga:
IFS = ", "; arg jaoks "$ *"; echo "$ arg"; tehtud
üks kaks kolm neli
Lisateabe saamiseks vaadake bash-käsurea dokumentatsiooni.
Parameeter, programmeerimise tingimused