logo

Nastavite – $VARIABLE v bash

V svetu bash skriptov lahko naletite na besedno zvezo set – $VARIABLE. Toda kaj to pomeni?

Najosnovnejši set – $VARIABLE se uporablja za razdelitev vrednosti spremenljivke bash v ločene besede z uporabo notranjega ločila polj (IFS) kot ločila. Na primer, če ima VARIABLE vrednost a b c, potem bi tekoči niz – $VARIABLE nastavil pozicijske parametre na a, b in c.



odjavite se iz google računa na androidu

To se na prvi pogled morda ne zdi posebej uporabno, vendar je lahko močno orodje, če ga uporabljate v pravem kontekstu. En pogost primer uporabe je obdelava argumentov ukazne vrstice, posredovanih skriptu bash. Ko zaženete skript bash, pozicijski parametri (tj. , itd.) predstavljajo argumente, posredovane skriptu. Z uporabo nabora – $VARIABLE lahko preprosto razdelite en argument na več besed, kar vam omogoča lažjo obdelavo.

Tukaj je primer, kako se lahko to uporabi:

#!/bin/bash # Set the value of VARIABLE to the first command-line argument VARIABLE='' # Split the value of VARIABLE into separate words set - $VARIABLE # Loop over the words for word in '$@'; do echo '$word' done>

Če ta skript shranite kot example.sh in ga zaženite takole:

./example.sh 'a b c'>

Izhod:



a b c>

Preglejte elemente seznama, shranjenega v spremenljivki

Drug pogost primer uporabe za nabor – $VARIABLE je zanka po elementih seznama, shranjenega v spremenljivki. Na primer:

# Set the value of VARIABLE to 'a b c' VARIABLE='a b c' # Split the value of VARIABLE into separate words set - $VARIABLE # Loop over the words for word in '$@'; do echo '$word' done>

Izhod:

java za rezanje nizov
a b c>

Omeniti velja, da nabor – $VARIABLE deluje le, če je vrednost VARIABLE en sam niz. Če je VARIABLE matrika, boste morali uporabiti drugačen pristop. Ena od možnosti je uporaba sintakse printf '%s ' ${VARIABLE[@]}, ki razširi matriko v niz ločenih besed, od katerih je vsaka ločena z znakom nove vrstice.



Tukaj je primer, kako se lahko to uporabi:

#!/bin/bash # Set the value of VARIABLE to an array containing 'a', 'b', and 'c' VARIABLE=('a' 'b' 'c') # Expand the array into a series of separate words set - $(printf '%s
' '${VARIABLE[@]}') # Loop over the words for word in '$@'; do echo '$word' done>

Izhod:

a b c>

Zaključek

Na koncu, nastavite – $VARIABLE je uporabna funkcija bash, ki vam omogoča, da vrednost spremenljivke razdelite na ločene besede z uporabo IFS kot ločila. Uporablja se lahko za obdelavo argumentov v ukazni vrstici ali za zanko po elementih seznama, shranjenega v spremenljivki. Čeprav deluje samo z enimi nizi, obstajajo alternativni pristopi, ki jih je mogoče uporabiti z nizi. Razumevanje, kako deluje set – $VARIABLE in kdaj ga uporabiti, je lahko dragocen dodatek k vašemu kompletu orodij za skripte bash.