Formatos diferentes do PATH para .bash_profile [duplicado]

0

Existem poucos formatos diferentes que vi até agora:

  1. Com aspas e colchetes:

    PATH="/usr/local/bin:${PATH}"
    
  2. Apenas com aspas:

    PATH="/usr/local/bin:$PATH"
    
  3. Nenhum:

    PATH=/usr/local/bin:$PATH
    

Exportar tudo igual:

export PATH

Qual é a maneira correta / preferida?

    
por Stickers 07.02.2015 / 19:59

2 respostas

2

Trata-se de variáveis de shell em geral, não apenas de PATH.

Aqui estão alguns exemplos de porque "" e {} podem reduzir erros.

Colocá-lo entre aspas é mais seguro: se você fizer a=hello world , você não conseguirá o que espera, mas para a="hello world" você o fará.

Usar {} também é mais seguro: fazer h="hello"; echo "$hword" não funcionará, mas h="hello"; echo "${h}word" será.

    
por 07.02.2015 / 23:52
1

Todos eles são eficazes. Um não é drasticamente melhor que o outro, mas eu prefiro:

export PATH=$PATH:/usr/local/bin

Ele cuida da exportação e da configuração do caminho em uma linha. Eu também tendem a não colocar o novo caminho antes do $PATH existente, mas há casos em que isso pode ser necessário para carregar novas bibliotecas auto-compiladas antes das antigas do sistema.

Se você está tentando exportar variáveis, então sim, você quer citá-las, por exemplo:

export myservers="server1 server2 server3"

Agora, quando você echo $myservers , verá:

[user]# echo $myservers
server1 server2 server3

Mas como essa questão está relacionada a $PATH e não a variáveis do shell, minha postagem original ainda permanece, pois nunca haverá um momento em que você esteja imprimindo 'hello world' no caminho do sistema.

[user]# echo $PATH  ## Something you shouldn't be doing
/usr/local/bin:HELLO WORLD/sbin:/bin:/usr/sbin:WHY AM I DOING THIS?/usr/bin:/root/bin
    
por 07.02.2015 / 20:07

Tags