logo

Set – $VARIABLE a bash

Al món dels scripts de bash, podeu trobar el conjunt de frases: $VARIABLE. Però què vol dir?

De manera més bàsica, set - $VARIABLE s'utilitza per dividir el valor d'una variable bash en paraules separades, utilitzant el Separador de camp intern (IFS) com a delimitador. Per exemple, si VARIABLE té el valor a b c, l'execució de set – $VARIABLE establiria els paràmetres posicionals a a, b i c.



mockito sempre que

Això pot no semblar especialment útil a primera vista, però pot ser una eina potent quan s'utilitza en el context adequat. Un cas d'ús comú és processar arguments de línia d'ordres passats a un script bash. Quan executeu un script bash, els paràmetres posicionals (és a dir, , , etc.) representen els arguments passats a l'script. Mitjançant set – $VARIABLE, podeu dividir fàcilment un sol argument en diverses paraules, la qual cosa us permet processar-les més fàcilment.

Aquí teniu un exemple de com es pot utilitzar això:

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

Si deseu aquest script com a example.sh i executeu-lo així:

./example.sh 'a b c'>

Sortida:



a b c>

Recorre els elements d'una llista emmagatzemats en una variable

Un altre cas d'ús comú per set - $VARIABLE és fer un bucle sobre els elements d'una llista emmagatzemada en una variable. Per exemple:

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

Sortida:

funcionament intern de hashmap
a b c>

Val la pena assenyalar que aquest conjunt: $VARIABLE només funciona si el valor de VARIABLE és una cadena única. Si VARIABLE és una matriu, haureu d'utilitzar un enfocament diferent. Una opció és utilitzar la sintaxi printf '%s ' ${VARIABLE[@]}, que expandeix la matriu en una sèrie de paraules separades, cadascuna separada per un caràcter de línia nova.



Aquí teniu un exemple de com es pot utilitzar això:

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

Sortida:

a b c>

Conclusió

En conclusió, set - $VARIABLE és una característica de bash útil que us permet dividir el valor d'una variable en paraules separades, utilitzant l'IFS com a delimitador. Es pot utilitzar per processar arguments de línia d'ordres o per fer un bucle sobre els elements d'una llista emmagatzemada en una variable. Tot i que només funciona amb cadenes individuals, hi ha enfocaments alternatius que es poden utilitzar amb matrius. Comprendre com funciona configurat: $VARIABLE i quan utilitzar-lo pot ser una addició valuosa al vostre conjunt d'eines de scripting de bash.