Como executar uma função no arquivo .profile

2

Eu tenho uma função que deve remover cópias duplicadas de diretórios da minha variável de ambiente PATH . Eu criei algumas duplicatas para poder testar, mas não sei como:

1) coloque o script no arquivo $HOME/.bashrc

Isso pode parecer estúpido, mas não consigo entender.

    
por Johnny Williem 15.06.2012 / 05:58

2 respostas

1

Basta editar o arquivo .bashrc (é melhor fazer uma cópia do original primeiro, apenas no caso) e simplesmente adicionar uma linha com o nome do script que você deseja executar no arquivo (na parte inferior do arquivo .bashrc seria ótimo).

Se o script não estiver em seu diretório pessoal, especifique o caminho completo.

    
por 15.06.2012 / 06:00
0

O arquivo correto para variáveis de ambiente, como PATH , não é ~/.bashrc , mas ~/.profile . .bashrc é um arquivo de configuração para shells interativos; .profile é o script de inicialização da sessão. Veja Existe um arquivo equivalente ".bashrc" lido por todos os shells? .

O Bash é um pouco peculiar com seus arquivos de inicialização: em shells de login, ele lê ~/.bash_profile se existir e ~/.profile caso contrário. Em shells interativos que não são de login, ele lê ~/.bashrc . Não há razão para não carregar configurações interativas em shells de login interativas, e há muitas configurações em que o shell de início da sessão não é chamado como um shell de login, mas ~/.profile é lido explicitamente. Então, faça seu ~/.bash_profile conter apenas estas duas linhas:

. ~/.profile
case $- in *i*) . ~/.bashrc;; esac

Se você tiver coisas em ~/.bash_profile , mova-as para ~/.profile se forem configurações de variável de ambiente e para ~/.bashrc se elas forem configuração de shell interativa, como aliases e associações de teclas. Coloque toda a sua manipulação PATH em ~/.profile .

    
por 17.06.2012 / 03:40

Tags