Não consigo encontrar .bash_profile
no Ubuntu 14.04 no meu /home/user
diretório. Eu usei o ls -a
comando para ver o .bash_profile
arquivo, mas não existe esse arquivo.
Não consigo encontrar .bash_profile
no Ubuntu 14.04 no meu /home/user
diretório. Eu usei o ls -a
comando para ver o .bash_profile
arquivo, mas não existe esse arquivo.
Respostas:
O Ubuntu usa ~/.profile
.
você pode criar o seu .bash_profile
no Ubuntu, mas .profile
nã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 ~/.profile
vez de~/.bash_profile
vim ~/.bashrc
entã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_profile
na minha $HOME
festa não vai olhar para .bash_login
e .profile
mais.
A partir desses três nomes de arquivo, o Ubuntu por padrão usa o qual .profile
você pode renomeá-lo .bash_profile
se quiser:
mv ~/.profile ~/.bash_profile
Agora, se abrir um novo shell bash usando bash -l
, su - $USER
, sudo -u $USER -i
ou quaisquer outros comandos que corre o bash como um shell de login, ~/.bash_profile
vai 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 gdm3
como seu gerenciador de exibição, se dermos uma olhada em: /etc/gdm3/Xsession
podemos 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 .profile
nome; 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
, gdm
não perdem nada, carregam o .bash_profile
que realmente é .profile
e, 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 bash
no 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_login
não consegue encontrá-lo novamente (porque o Ubuntu não usa esses dois nomes) e, finalmente, procura .profile
e sim, aí está. Portanto, se você criar um .bash_profile
in, ~
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 bash
executa / origina o arquivo se bash
for 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 .bashrc
arquivo.
/etc/skel/
diretório
.bash_profile
está ausente (e não funciona) no Ubuntu nos comentários de outras respostas.
A melhor resposta a ser usada em ~/.profile
vez de ~/.bash_profile
não funcionou para mim.
Modificando .bashrc
trabalhado
Somente:
vim ~/.bashrc
Nota: Estou usando o Ubuntu WSL.
~/.profile
apenas 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.
~/.profile
lugar.