Deverá .bashrc ser executado toda vez que eu fizer login?

2
Newish to Ubuntu, então perdoe se eu disser coisas estranhamente ... Tudo o que eu realmente quero fazer é ter meu comando ls alterado para ls --color=always -ragX

Tem que resolvido ... Alias vai fazer bem. Agora, para que isso seja executado toda vez que eu fizer login (SSH de Putty para a linha de comando) Eu criei .bashrc no meu diretório inicial e digitei

alias ls='ls --color=always -ragX'

salvou, saiu e voltou para

digitado vi

parece que o arquivo .bashrc não está sendo executado? AGORA o que?

    
por Everseeker 14.03.2015 / 00:33

4 respostas

4

Consulte o link

  

Quando o Bash é invocado como um shell de login interativo , ou como um shell não interativo com a opção --login, ele primeiro lê e executa comandos do arquivo /etc/profile , se esse arquivo existe. Depois de ler esse arquivo, ele procura ~/.bash_profile , ~/.bash_login e ~/.profile , nessa ordem, e lê e executa comandos do primeiro que existe e é legível. A opção --noprofile pode ser usada quando o shell é iniciado para inibir esse comportamento.

Nota, nenhuma menção a ~/.bashrc acima.

  

Quando um shell interativo que é não um login é iniciado, o Bash lê e executa comandos de ~/.bashrc , se esse arquivo existir. Isso pode ser inibido usando a opção --norc. A opção do arquivo --rcfile forçará o Bash a ler e executar comandos do arquivo em vez de ~ / .bashrc.

Verifique as preferências do seu aplicativo de terminal para ver se ele inicia ou não um shell de login.

Como alternativa, você pode adicionar isso ao seu ~/.bash_profile

[[ -f ~/.bashrc ]] && . ~/.bashrc
    
por glenn jackman 14.03.2015 / 03:51
0

Algumas coisas a serem observadas:

  1. Os arquivos .bashrc não são "executados", por isso, se você procurar em uma lista de processos, não verá em nenhum lugar, e tudo bem.

  2. o bash lê o arquivo bashrc quando é iniciado, portanto, se você fizer alterações no arquivo bashrc, elas não serão efetivadas até a próxima vez que você executar o bash. Quando você está testando edições no seu arquivo bashrc, você pode facilmente ver as mudanças apenas executando o bash novamente (por exemplo, abra o terminal e digite "bash"). As mudanças também serão detectadas quando você sair do Ubuntu e, em seguida, fizer o login novamente (travar a tela ou entrar no modo de espera não funcionará, mas o logout ou a reinicialização funcionarão).

  3. Seu arquivo .bashrc deve estar no seu diretório pessoal. Você pode verificar isso editando o arquivo como vi ~/.bashrc em vez de apenas vi .bashrc

por Sam King 14.03.2015 / 01:14
0

Como o muru já disse, deveria por padrão (após o primeiro login) ser um .bashrc no seu diretório home / home / youloginname

Para proteger seu bashrc existente, crie uma cópia com o seguinte comando.

cp ~/.bashrc ~/mybashrc.backup

Depois disso, você pode restaurar o padrão .bashrc; para isso, remova primeiro o existente e depois copie-o do bashrc do sistema. Caso ainda não tenha feito, configure a permissão correta para o arquivo.

rm ~/.bashrc
cat /etc/bash.bashrc > ~/.bashrc
chmod 644 ~/.bashrc

Depois disso, faça as alterações no arquivo .bashrc em sua casa. Quando terminar, você não precisa fazer logoff ou logon ou mesmo reiniciar. Simplesmente recarregue o bashrc com o seguinte comando

source ~/.bashrc

Isso deve fazer isso ....

    
por snapo 14.03.2015 / 01:25
0

No login bash do Ubuntu funciona da mesma forma que em outras Distros.

Depois de adicionar o alias no seu .bashrc, como você usou:

alias ls='ls --color=always -ragX'

Para que o ls seja executado automaticamente toda vez que você fizer o login, basta adicioná-lo à última linha do seu arquivo .bashrc .

Se você não vir a saída de ls ou ls --color=always -ragX no login, provavelmente há um erro no arquivo .bashrc .

    
por Patrick Di Martino 14.03.2015 / 01:41