binário colocado na pasta em $ PATH não é imediatamente acessível

0

no meu $PATH eu tenho a pasta ~/.zsh/bin que eu uso para pequenos scripts e binários executáveis personalizados, por exemplo, eu adicionei uma ferramenta recentemente compilada que eu fiz chamada wercker_build_status para a pasta. No entanto, quando eu digito na linha de comando wercker_build_status ele não pode encontrá-lo, eu tenho que digitar o caminho completo para o arquivo, ~/.zsh/bin/wercker_build_status .

Isso não quer dizer que a pasta não funciona, um script que eu chamei de wifi_status está lá e digitando isso na linha de comando retorna o status do wifi como esperado.

Por que é que apesar de estar no meu $PATH , não posso simplesmente usar um arquivo que adicionei à pasta ~/.zsh/bin ?

    
por Thermatix 03.04.2018 / 11:06

1 resposta

1

Use $HOME em seu caminho, em vez de til ( ~ ), especialmente se você colocar o novo PATH entre aspas duplas. O til não é expandido quando ocorre entre aspas.

Teste:

$ mkdir "$HOME/t"

$ cat >"$HOME/t/foo" <<END
#!/bin/sh
echo "hello"
END

$ chmod +x "$HOME/t/foo"

$ PATH="$PATH:~/t"

$ foo
zsh: command not found: foo

$ PATH="$PATH:$HOME/t"

$ foo
hello

Veja também: Por que o til não é expande aspas duplas internas?

    
por 03.04.2018 / 12:34