
Eu tenho um bin/
abaixo $HOME
. Contém algumas versões aumentadas de comandos comuns. Portanto, não quero que esses comandos sejam usados por scripts, mas apenas para uso interativo.
É o melhor que posso fazer para adicionar
for f in ~/bin/*
do
alias "$(basename $f)"="$f"
done
para o meu ~/.bash_profile
? Ou há outra solução?
Responder1
Você também pode adicionar as linhas a seguir ao seu .bashrc
, que só define PATH
se você estiver em um shell interativo.
if [ "$PS1" ]
then
export PATH=~/bin:$PATH
fi
Responder2
Você pode usar módulos de ambiente para habilitar (carregar) manualmente um módulo definindo o caminho desejado
module load homebin
Como seria o módulo homebin
#%Module1.0
prepend-path PATH ~/bin
Responder3
Depende de qual shell e (infelizmente) de qual sistema você está usando. O Bash, por exemplo, usa diferentes arquivos de inicialização dependendo se é usado como um shell interativo ou não interativo, conforme explicado nomanual do bash.
Em princípio, você deve ser capaz de adicionar export PATH=$HOME/bin:$PATH
ao seu ~/.bashrc
arquivo, que será executado apenas para shells interativos sem login. Na prática, alguns sistemas são configurados de forma que ~/.bashrc
também leiam shells não interativos.
Perguntas relacionadas: