Não consigo encontrar .bash_profileno Ubuntu 14.04 no meu /home/userdiretório. Eu usei o ls -acomando para ver o .bash_profilearquivo, mas não existe esse arquivo.
Não consigo encontrar .bash_profileno Ubuntu 14.04 no meu /home/userdiretório. Eu usei o ls -acomando para ver o .bash_profilearquivo, mas não existe esse arquivo.
Respostas:
O Ubuntu usa ~/.profile.
você pode criar o seu .bash_profileno Ubuntu, mas .profilenão será lido.
Se lermos o conteúdo .profile:
cat ~/.profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
Então use em ~/.profilevez de~/.bash_profile
vim ~/.bashrcentão. ~/.bashrc
Ao invocar um shell de logon, o bash procurará seus arquivos de configuração nesta ordem:
[0] ~/.bash_profile
[1] ~/.bash_login
[2] ~/.profile
Depois de encontrar o primeiro, ele pára de olhar para os outros para que se houver um .bash_profilena minha $HOMEfesta não vai olhar para .bash_logine .profilemais.
A partir desses três nomes de arquivo, o Ubuntu por padrão usa o qual .profilevocê pode renomeá-lo .bash_profilese quiser:
mv ~/.profile ~/.bash_profile
Agora, se abrir um novo shell bash usando bash -l, su - $USER, sudo -u $USER -iou quaisquer outros comandos que corre o bash como um shell de login, ~/.bash_profilevai ficar de origem.
O que eu falei até agora só se aplica ao próprio Bash, quando você faz login no sistema a partir de uma GUI, o gerente de exibição é responsável por obter os arquivos corretos.
O Ubuntu usa gdm3como seu gerenciador de exibição, se dermos uma olhada em: /etc/gdm3/Xsessionpodemos ver que nenhum dos arquivos será originado, exceto .profile:
# First read /etc/profile and .profile
for file in /etc/profile "$HOME/.profile"; do
if [ -f "$file" ]; then
source_with_error_check "$file"
fi
done
portanto, se você estiver usando uma GUI para efetuar login, mantenha o arquivo sob .profilenome; caso contrário, poderá perder algumas variáveis e configurações em seus ambientes.
Eu acho que a melhor opção é criar um link simbólico para .profile:
ln -s ~/.profile ~/.bash_profile
Agora seus dados residem .profile, gdmnão perdem nada, carregam o .bash_profileque realmente é .profilee, editando cada um deles, você obtém o mesmo resultado.
Se você não tiver .profile, pegue uma cópia aqui:
cp /etc/skel/.profile ~/.profile
ou
# Remember the note above
cp /etc/skel/.profile ~/.bash_profile
man bashno Ubuntu ainda descreve como ele procurará .bash_profile primeiro.
.bash_profile primeiro que não consegue encontrá-lo (porque não existe), depois procura .bash_loginnão consegue encontrá-lo novamente (porque o Ubuntu não usa esses dois nomes) e, finalmente, procura .profilee sim, aí está. Portanto, se você criar um .bash_profilein, ~então você está substituindo o ubuntu ~/.profile, é o comportamento padrão do bash, nada foi modificado aqui.
.bash_profile, ele não será lido. Acabei de perceber que isso ocorre porque o Ubuntu não usa mais o 'Bash' como um shell de login da GUI. Ele usa 'Dash'. Eu acho que isso é verdade desde 18.04.
Isso significa que o arquivo não existe. Mas, você pode criar o arquivo e bashexecuta / origina o arquivo se bashfor chamado como um shell de login. Então, sempre que você fizer login através de um shell (por exemplo, via ssh).
Se você deseja que o conteúdo seja executado sempre que abrir um terminal, modifique o .bashrcarquivo.
/etc/skel/diretório
.bash_profileestá ausente (e não funciona) no Ubuntu nos comentários de outras respostas.
A melhor resposta a ser usada em ~/.profilevez de ~/.bash_profilenão funcionou para mim.
Modificando .bashrctrabalhado
Somente:
vim ~/.bashrc
Nota: Estou usando o Ubuntu WSL.
~/.profileapenas não carregado por padrão no ubuntu 18.04
Se você quer dizer o .bashrc, ele o encontrará na sua pasta pessoal. Se não estiver lá, você pode copiá-lo da pasta / etc / skel para a sua pasta pessoal.
Se você precisar de mais informações sobre esse assunto, visite a página de stefaan lippens.
~/.profilelugar.