Adiciona pasta de script bash ao caminho?

14

Eu tenho alguns scripts bash em uma pasta de aplicativos que gostaria de usar como se estivessem no meu caminho. Se eles fossem aplicativos diretos, eu adicionaria o diretório a ~ / .bashrc, mas estes são scripts.

por exemplo:

~/a_dir/another_dir/foo.sh
~/a_dir/another_dir/foo-gui.sh

Existe uma boa maneira de configurar um caminho para que eu possa usá-lo em qualquer diretório?

por exemplo:

totally/different/path$ bash foo.sh
    
por Abe 23.01.2012 / 20:42

3 respostas

16

Sim, você pode adicionar qualquer diretório ao caminho do sistema. Uma maneira de fazer isso é atualizar a definição PATH (variável ambiental). Você pode fazer isso em .bashrc adicionando as seguintes linhas:

PATH="/your/script/dir:${PATH}"
export PATH

Eu gosto de adicionar meus scripts a $HOME/.local/bin/ (que é um diretório oculto) para que meu diretório fique mais limpo.

Seu diretório não será inserido na variável PATH imediatamente, a menos que você execute source .bashrc .

Você pode adicionar vários diretórios ao caminho, lembre-se disso. Por favor, consulte a documentação da BASH se você não entender o código.

O método anterior funcionará apenas para seu usuário. Se você precisar adicionar um diretório de script para todos os usuários, faça como bodhi.zazen e adicione seus scripts a /usr/local/bin .

    
por Severo Raz 23.01.2012 / 20:49
9

IMO o melhor método é adicionar os scripts a ~ / bin

mkdir ~/bin

~/bin deve ser adicionado automaticamente ao seu caminho. Caso contrário, adicione isso a ~/.bashrc

if [ -d $HOME/bin ]; then
    PATH=$PATH:$HOME/bin
fi

Se você quiser que eles estejam disponíveis para todos os usuários, adicione-os a /usr/local/bin

    
por Panther 23.01.2012 / 20:46
2

outra solução

  1. Adicione o caminho para ~/.bashrc open usando vim $ vim ~/.bashrc

    exemplo:

    # add extra paths export PATH=$PATH:~/Scripts

  2. uma vez que o caminho é adicionado, execute:

    $ source ~/.bashrc

  3. Se adicionado corretamente, não deve haver erros.

por zulucoda 19.07.2014 / 23:21