Bash - $ PATH e $ {PATH}
-
06-07-2019 - |
Pergunta
O que é a diferença entre usar uma variável de ambiente, como PATH, como $ PATH ou $ {PATH}?
Solução
Não há nenhuma diferença na maioria dos casos. As únicas vezes que importa é se você quiser incluir o texto à direita após a expansão. Por exemplo, suponha que seu PATH
continha o FOO
string (na verdade, não um caminho válido, mas este é um exemplo), e você queria formar a FOOBAR
string. Se você fez
$PATHBAR
Você deseja obter a expansão da variável chamada PATHBAR
, que provavelmente não é o que você queria. Se você fez
$PATH BAR
Você pode ficar um espaço entre FOO
e BAR
, também não o que você queria. A solução é para os aparelhos de uso:
${PATH}BAR
Isto dá-lhe FOOBAR
.
Outras dicas
PATH
é o nome da variável de ambiente, $PATH
e ${PATH}
são métodos de acesso a eles. O ${PATH}
formulário é utilizado para permitir construções como echo ${PATH}b
que iria falhar usando $PATHb
. Além disso, bash
permite muitas coisas substituição parâmetro que o página homem o prazer de ter dito mais aproximadamente.
No seu caso, não há diferença, mas - ter a situação: Você tem duas variáveis:
$FOO = "YA"
$YADA = "bar"
então ${$FOODA}
vai lhe dar nada, enquanto ${${FOO}DA}
lhe dará "bar"