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.