O código no .bashrc não é executado quando abro uma nova janela de terminal no Ubuntu 12.04. Notei isso ao criar um arquivo .bash_aliases. Os aliases não apareceram quando eu abri um novo terminal. No entanto, quando eu digito, source .bashrc
os aliases apareceram.
.bashrc deve ser executado toda vez que abro uma nova janela do terminal, certo?
Como faço isso acontecer?
.profile
é lido no momento do login, não quando você abre um novo terminal, a menos que haja uma configuração incorreta em algum lugar. Selah: você mudou alguma coisa na configuração padrão? Por favor, executeps -o command $$ $PPID
um terminal e copie e cole a saída..bashrc
na sua pasta pessoal, certo?echo $SHELL
. Isso aconteceu comigo e o shell foi / bin / sh em vez de bash. Corrija-o no / etc / passwd e no seu .bashrc em execução.Respostas:
Não é necessariamente executado; no topo do padrão .bashrc está este comentário:
Eu acredito que existe uma opção para executar o terminal bash como um shell de login ou não. Com o Ubuntu, o gnome-terminal normalmente não é executado como um shell de login; portanto, o .bashrc deve ser executado diretamente.
Para shells de login (como os terminais virtuais), normalmente o arquivo
~/.profile
é executado, a menos que você tenha um~/.bash_profile
ou~/.bash_login
, mas eles não estão lá por padrão. Por padrão, o Ubuntu usa apenas .profile.O padrão
~/.profile
tem isso:Isso executa .bashrc, se disponível, assumindo que $ BASH_VERSION esteja presente em seu ambiente. Você pode verificar isso digitando o comando
echo $BASH_VERSION
e ele deve exibir algumas informações sobre o número da versão - não deve estar em branco.fonte
~/.bash_profile
ou~/.bash_login
. Você pode testar marcando ou desmarcando a caixa de seleçãoEdit -> Profile Preferences -> Title and Command -> "Run command as a login shell
e, em seguida, saia e execute novamente o terminal. Você pode repetir algo de .profile para testar.~/.bash_profile
ou~/.bash_login
em seu sistema e deseja mantê-los, mas ainda deseja~/.profile
e a partir daí~/.bashrc
executado, você pode obtê-lo por conta própria~/.bash_profile
ou~/.bash_login
com uma linha que contenhasource "$HOME/.profile"
. Dá-lhe de volta a saída colorida de ls também nas conchas de login!No meu caso, simplesmente as
.bashrc
linhas do carregador estavam ausentes no.bash_profile
Adicionei-o manualmente e funcionou com meu novo login
fonte
.bash_profile
? O Ubuntu usa um.profile
por padrão, não.bash_profile
.pcre
e parece que ele substituiu o perfil do bash em vez de adicioná-lo..bash_profile
mantém a configuração para o shell bash. Quando você abre um terminal, ele primeiro lê e executa comandos de~/.bash_profile
. Portanto, você pode adicionar o seguinte.bash_profile
para configurar o shell de acordo com o bashrc.fonte
~/.bash_profile
não será lido (e que não existe por padrão no Ubuntu)Se
$BASH_VERSION
não estiver definido, tente usar ochsh
comando para definir seu shell/bin/bash
.Eu tive um problema semelhante com o 12.04 LTS, e a nova conta de usuário tinha o shell padrão definido
/bin/sh
, que foi a causa do problema.fonte
Accoding para o comentário em .profile
Então lá vai, se
~/.bash_profile
ou~/.bash_login exists
, esses serão executados em vez de~/.profile
se você deseja executar
~/.bashrc
basta adicionar a linhasource ~/.bashrc
embash_profile
fonte
.bashrc
estava sendo originado até criar um.bash_profile
arquivo. Então, acrescentei asource ~/.bashrc
linha no meu.bash_profile
arquivo.Em vez de passar por tudo isso, basta ir
Edit -> Profile Preferences -> Title and Command -> "Run a custom command instead of my shell"
e, na caixa de comando Personalizada, escrevabash
e feche-a. Na próxima vez que você abrir o terminal, ele também será executado automaticamente.fonte