Onde posso colocar comandos que desejo executar para todos os shells interativos e não-login?

0

Normalmente, no bash, a resposta seria ~ / .bashrc ou /etc/bash.bashrc. Mas infelizmente o Ubuntu está obtendo esses arquivos de ~ / .profile e / etc / profile respectivamente. Então, onde devo colocar esses comandos no Ubuntu?

Veja também Por que o / etc / profile não é invocado para shells não-login? se você não estiver familiarizado com esses arquivos.

    
por Seb 24.02.2014 / 02:39

2 respostas

0

Parece que não há lugar padrão para tais comandos no Ubuntu (sem modificar o comportamento que pode ser considerado padrão no Ubuntu). Aqui está uma solução que eu criei:

Adicione isso ao início de /etc/profile :

IS_LOGIN_SHELL=1

Em seguida, em /etc/bash.bashrc ou ~/.bashrc teste para esta variável:

if [ -n "${IS_LOGIN_SHELL-}" ]; then
   # Put your commands here
fi

Espero que o nome da variável não colida com mais nada e isso não altere as outras partes do Ubuntu.

    
por Seb 26.02.2014 / 01:23
2

Se você abrir seu man bash , poderá encontrar algum lugar na linha 150:

% bl0ck_qu0te%

Portanto, você pode usar com confiança ~/.bashrc (ou /etc/bash.bashrc , mas não aconselharei você a usar esse arquivo de sistema amplo) para o seu propósito. E sim, no Ubuntu.

    
por Radu Rădeanu 24.02.2014 / 20:34