Não é possível executar scripts shell a partir de '~ / bin' [duplicado]

5

Estou aprendendo a escrever o shell script de este tutorial no linuxcommand.org . Diz -

  

A maioria das distribuições Linux modernas encoraja uma prática em que cada   O usuário tem um diretório específico para os programas que ele / ela pessoalmente usa.   Este diretório é chamado bin e é um subdiretório da sua casa   diretório.

Eu tentei isso. Mas recebo o seguinte erro -

foobar: command not found

Mais adiante nessa página, também diz que -

  

Em algumas distribuições, mais notavelmente o Ubuntu, você precisará abrir um   nova sessão de terminal antes que seu diretório bin recém-criado seja   reconhecido.

Isso significa que o ubuntu suporta esse recurso. Mas por que não está funcionando?

Estou no Ubuntu 12.04 LTS.

    
por ShuklaSannidhya 23.04.2013 / 18:19

1 resposta

4

Quando você faz login ou inicia um novo shell, alguns scripts são analisados. Exatamente quais scripts dependem de qual shell você usa (por exemplo, ksh, csh, tsch, bash, traço, pinosh, ...) e se é um shell de login ou não.

Se você estiver usando os padrões do Ubuntu, é provável que ele contenha isto:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Em outras palavras, se ~ / bin / já existir, adicione-o ao caminho de pesquisa.
Se não existir, não há motivo para tentar procurar sempre esse local. Então não adicione isso.

Isso significa que você terá que criar ~ / bin / e, em seguida, iniciar um novo shell, ou criá-lo e adicionar manualmente um caminho para ele.

Como "A maioria das distribuições Linux modernas encoraja". Isso já foi incentivado em 1991, quando recebi minha primeira conta unix em um servidor rodando o ESIX. Ainda é verdade hoje em dia.

    
por Hennes 23.04.2013 / 18:38