2011-11-24 10 views
6

¿Puede alguien darme una explicación de por qué algunos expertos de Linux sugieren que usemos $ {VARIABLE} en scripts Bash? No parece haber ninguna diferencia en absoluto.

Respuesta

9

decir que quiere imprimir $VARIABLE seguido inmediatamente por "string"

echo "$VARIABLEstring" # tries to print the variable called VARIABLEstring 
echo "${VARIABLE}string" # prints $VARIABLE and then "string" 

Bash también es compatible con string manipulation con esta sintaxis.

+0

Gracias. Hay otras diferencias ? –

+0

@ 爱国者 no, no hay otras diferencias. –

+0

El formulario '$ {}' también es esencial para eliminar matrices de matrices. Ver http://tldp.org/LDP/abs/html/arrays.html para más detalles. –

3

Una de las razones es posible que desee hacer esto es {} actúan como delimitadores:

a=42 
echo "${a}sdf" # 42sdf 
echo "$asdf" # prints nothing because there's no variable $asdf 
1

Esta funcionalidad se utiliza a menudo para proteger un nombre de variable de caracteres circundantes.

$ var=foo 

Si deseamos concatenar una cadena al final de $var No podemos hacer:

$ echo $varbar 

$ 

ya que esto está tratando de utilizar una variable nueva $varbar.
su lugar tenemos que encerrar en var{} como:

$ echo ${var}bar 
foobar 
Cuestiones relacionadas