Bash: $ PATH y $ {PATH}
-
06-07-2019 - |
Pregunta
¿Cuál es la diferencia entre usar una variable de entorno, como PATH, como $ PATH o $ {PATH}?
Solución
No hay diferencia en la mayoría de los casos. Las únicas veces que importa es si desea incluir texto final después de la expansión. Por ejemplo, suponga que su PATH
contenía la cadena FOO
(en realidad no es una ruta válida, pero esto es para un ejemplo), y desea formar la cadena FOOBAR
. Si lo hiciste
$PATHBAR
Obtendría la expansión de la variable llamada PATHBAR
, que probablemente no sea lo que deseaba. Si lo hiciste
$PATH BAR
Tendría un espacio entre FOO
y BAR
, tampoco lo que deseaba. La solución es usar llaves:
${PATH}BAR
Esto le da FOOBAR
.
Otros consejos
PATH
es el nombre de la variable de entorno, $ PATH
y $ {PATH}
son métodos para acceder a ellos. La forma $ {PATH}
se usa para permitir construcciones como echo $ {PATH} b
que fallarían al usar $ PATHb
. Además, bash
permite muchas cosas de reemplazo de parámetros que la página del manual con gusto le contaremos más sobre.
En su caso no hay diferencia, pero - tome la situación: tiene dos variables:
$FOO = "YA"
$YADA = "bar"
luego $ {$ FOODA}
no le dará nada mientras que $ {$ {FOO} DA}
le dará " bar "