Como executar uma função no arquivo .profile

Como executar uma função no arquivo .profile

Eu tenho uma função que supostamente remove cópias duplicadas de diretórios da minha PATHvariável de ambiente. Criei algumas duplicatas para poder testá-las, mas não sei como:

1) coloque o script no $HOME/.bashrcarquivo

Responder1

Basta editar o .bashrcarquivo (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, .bashrctudo 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 PATHnot ~/.bashrcbut ~/.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_profilese existe ou ~/.profilenã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_profilecontenha apenas estas duas linhas:

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

Se você tinha coisas em ~/.bash_profile, mova-as para ~/.profilese forem configurações de variáveis ​​de ambiente e para ~/.bashrcse forem configurações de shell interativas, como aliases e atalhos de teclado. Coloque toda a sua PATHmanipulação em ~/.profile.

informação relacionada