Pergunta

O que é a diferença entre usar uma variável de ambiente, como PATH, como $ PATH ou $ {PATH}?

Foi útil?

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"

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top