logo

Sada – $VARIABLE v bash

Ve světě bash skriptování se můžete setkat s frází set – $VARIABLE. Ale co to znamená?

Ve své nejzákladnější podobě se set – $VARIABLE používá k rozdělení hodnoty proměnné bash do samostatných slov s použitím vnitřního oddělovače polí (IFS) jako oddělovače. Pokud má například PROMĚNNÁ hodnotu a b c, pak spuštění set – $PROMĚNNÁ nastaví poziční parametry na a, b a c.

jak převést řetězec na celé číslo java

To se na první pohled nemusí zdát nijak zvlášť užitečné, ale pokud se použije ve správném kontextu, může to být mocný nástroj. Jedním z běžných případů použití je zpracování argumentů příkazového řádku předávaných bash skriptu. Když spustíte bash skript, poziční parametry (tj. , atd.) představují argumenty předané skriptu. Pomocí set – $VARIABLE můžete snadno rozdělit jeden argument na více slov, což vám umožní snáze je zpracovat.



Zde je příklad, jak to lze použít:

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

Pokud tento skript uložíte jako example.sh a spusťte jej takto:

./example.sh 'a b c'>

Výstup:

a b c>

Smyčka přes prvky seznamu uložené v proměnné

Dalším běžným případem použití sady – $VARIABLE je smyčkování prvků seznamu uloženého v proměnné. Napří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ýstup:

a b c>

Stojí za zmínku, že sada – $VARIABLE funguje pouze v případě, že hodnota proměnné je jeden řetězec. Pokud je VARIABLE pole, budete muset použít jiný přístup. Jednou z možností je použít syntaxi printf ‚%s ‘ ${VARIABLE[@]}, která rozšíří pole na řadu samostatných slov, z nichž každé je odděleno znakem nového řádku.

Zde je příklad, jak to lze použít:

#!/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ýstup:

java převést znak na řetězec
a b c>

Závěr

Na závěr, set – $VARIABLE je užitečná funkce bash, která vám umožňuje rozdělit hodnotu proměnné do samostatných slov pomocí IFS jako oddělovače. Lze jej použít ke zpracování argumentů příkazového řádku nebo k opakování prvků seznamu uložených v proměnné. I když funguje pouze s jednotlivými řetězci, existují alternativní přístupy, které lze použít s poli. Pochopení toho, jak sada – $VARIABLE funguje a kdy ji použít, může být cenným doplňkem vaší sady nástrojů pro skriptování bash.