Adicionar pasta de script bash ao caminho?

16

Eu tenho alguns scripts bash em uma pasta de aplicativo que eu gostaria de usar como se estivessem no meu caminho. Se fossem aplicativos diretos, eu apenas adicionaria o diretório ao ~ / .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á-los em qualquer diretório?

por exemplo:

totally/different/path$ bash foo.sh
Abe
fonte
você não poderá fazer isso com bash foo.sh, mas com foo.sh, depois de dar permissão ao executivo e colocá-los no $ PATH.
elias 23/01

Respostas:

21

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

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

Eu gosto de adicionar meus scripts $HOME/.local/bin/(que é um diretório oculto) para que meu diretório pessoal 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. Consulte a documentação do BASH se você não entender o código.

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

Severo Raz
fonte
Adicioná-lo antes substitui os scripts do sistema - o que significa que pode ser fácil substituí-los, o que nem sempre é bom.
Wilf
9

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

mkdir ~/bin

~/bindeve ser adicionado automaticamente ao seu caminho. Caso contrário, adicione-o a~/.bashrc

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

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

Pantera
fonte
Nesse caso, como são scripts de aplicativos, aconselho colocar links simbólicos para os scripts no ~/bin, para melhor manutenção.
elias 23/01
3

outra solução

  1. Adicionar caminho para ~/.bashrcabrir usando o vim$ vim ~/.bashrc

    exemplo:

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

  2. Depois que o caminho é adicionado, execute:

    $ source ~/.bashrc

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

zulucoda
fonte