Em um comando shell como
PATH=~/bin:/opt/texbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
o til é expandido para o seu diretório pessoal quando o comando shell é executado. Assim, o valor resultante de PATH
é algo como
/home/theconjuring/bin:/opt/texbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
.
Certifique-se de que o til não esteja entre aspas ( ), caso contrário, ele significa. Para preceder um diretório ao valor atual de PATH="~/bin:…"
PATH
, você pode usar
PATH=~/bin:$PATH
Em geral, em shells que não sejam zsh, $PATH
fora de aspas duplas quebra quando o valor contém espaços ou outros caracteres especiais , mas em uma atribuição, é seguro. Com export
, no entanto, você precisa escrever export PATH=~/bin:"$PATH"
(embora você não precise de export
com PATH
, pois ele já está no ambiente). Em zsh, você não precisa de aspas duplas, exceto quando a variável pode estar vazia, mas se você definir PATH
em .profile
, ela será processada por /bin/sh
ou /bin/bash
.
Se você estiver definindo PATH
em ~/.pam_environment
, no entanto, não será possível usar ~
ou $HOME
para representar seu diretório pessoal. Este arquivo não é analisado por um shell, é uma lista simples de NAME=value
lines. Então você precisa escrever os caminhos completos.