logo

Set – $VARIABLE v bash

Vo svete bash skriptovania sa môžete stretnúť s frázou set – $VARIABLE. Ale čo to znamená?

Vo svojej najzákladnejšej podobe sa set – $VARIABLE používa na rozdelenie hodnoty premennej bash na samostatné slová, pričom ako oddeľovač sa používa vnútorný oddeľovač polí (IFS). Napríklad, ak má PREMENNÁ hodnotu a b c, potom spustenie množiny – $ PREMENNÁ nastaví pozičné parametre na a, b a c.



ako previesť reťazec na celé číslo java

Na prvý pohľad sa to nemusí zdať obzvlášť užitočné, ale pri použití v správnom kontexte to môže byť silný nástroj. Jedným z bežných prípadov použitia je spracovanie argumentov príkazového riadka odovzdaných do bash skriptu. Keď spustíte bash skript, pozičné parametre (t.j. , atď.) predstavujú argumenty odovzdané skriptu. Pomocou set – $VARIABLE môžete jednoducho rozdeliť jeden argument na viacero slov, čo vám umožní ľahšie ich spracovať.

Tu je príklad, ako sa to dá použiť:

#!/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>

Ak uložíte tento skript ako example.sh a spustite ho takto:

./example.sh 'a b c'>

Výkon:



a b c>

Opakujte prvky zoznamu uloženého v premennej

Ďalším bežným prípadom použitia pre množinu – $VARIABLE je slučkovanie prvkov zoznamu uloženého v premennej. Napríklad:

# 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>

Výkon:

a b c>

Stojí za zmienku, že množina – $VARIABLE funguje iba vtedy, ak je hodnota VARIABLE jeden reťazec. Ak je VARIABLE pole, budete musieť použiť iný prístup. Jednou z možností je použiť syntax printf '%s ' ${VARIABLE[@]}, ktorá rozšíri pole na sériu samostatných slov, z ktorých každé je oddelené znakom nového riadku.



Tu je príklad, ako sa to dá použiť:

konvertovať reťazec int java
#!/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>

Výkon:

a b c>

Záver

Na záver, set – $VARIABLE je užitočná funkcia bash, ktorá vám umožňuje rozdeliť hodnotu premennej na samostatné slová pomocou IFS ako oddeľovača. Môže sa použiť na spracovanie argumentov príkazového riadka alebo na precyklenie prvkov zoznamu uložených v premennej. Aj keď funguje iba s jednotlivými reťazcami, existujú alternatívne prístupy, ktoré možno použiť s poľami. Pochopenie toho, ako set – $VARIABLE funguje a kedy ho použiť, môže byť cenným doplnkom vašej sady nástrojov na skriptovanie bash.