Eu tenho uma função que supostamente remove cópias duplicadas de diretórios da minha PATH
variável de ambiente. Criei algumas duplicatas para poder testá-las, mas não sei como:
1) coloque o script no $HOME/.bashrc
arquivo
Responder1
Basta editar o .bashrc
arquivo (melhor fazer uma cópia do original primeiro, por precaução) e simplesmente adicionar uma linha com o nome do script que deseja executar ao arquivo (na parte inferior do arquivo, .bashrc
tudo bem).
Se o script não estiver em seu diretório inicial, especifique o caminho completo.
Responder2
O arquivo correto para variáveis de ambiente como PATH
not ~/.bashrc
but ~/.profile
. .bashrc
é um arquivo de configuração para shells interativos; .profile
é o script de inicialização da sessão. VerExiste um arquivo equivalente ".bashrc" lido por todos os shells?.
O Bash é um pouco peculiar com seus arquivos de inicialização: nos shells de login, ele lê ~/.bash_profile
se existe ou ~/.profile
não. Em shells interativos sem login, ele lê ~/.bashrc
. Não há razão para não carregar configurações interativas em shells de login interativos, e há muitas configurações em que o shell de início de sessão não é invocado como um shell de login, mas ~/.profile
é lido explicitamente. Então faça com que ~/.bash_profile
contenha apenas estas duas linhas:
. ~/.profile
case $- in *i*) . ~/.bashrc;; esac
Se você tinha coisas em ~/.bash_profile
, mova-as para ~/.profile
se forem configurações de variáveis de ambiente e para ~/.bashrc
se forem configurações de shell interativas, como aliases e atalhos de teclado. Coloque toda a sua PATH
manipulação em ~/.profile
.