Executar um comando sempre que o Terminal estiver aberto

19

Estou no Ubuntu 13.04 e gostaria de configurar meu terminal, para que toda vez que uma nova aba / janela seja aberta, ele execute o seguinte comando automaticamente e imediatamente.

 /bin/bash --login

Como eu consegui isso? No OSX com o iTerm 2, há uma opção para executar um comando no início. Eu acho que aqui eu deveria conseguir isso através de algum tipo de dotfile ...

se __name__ for Nenhum
fonte
Por que você quer fazer isso? Quando você abre um novo terminal, este comando já está executado.
Spack
Não, não é. Eu preciso disso por causa de um bug em algum ambiente de desenvolvimento que eu uso. A --loginbandeira é crucial.
se __name__ for None

Respostas:

21

Adicione o comando ao seu ~/.bashrc. Tecnicamente, você deve ser capaz de adicionar ~/.profile, bem como, a partir de man bash, INVOCATIONdocumentação:

Se o bash for chamado com o nome sh, ele tentará imitar o comportamento de inicialização das versões históricas o shmais próximo possível, enquanto estiver em conformidade com o padrão POSIX. Quando invocado como um shell de logon interativo ou não-interativo com a --loginopção, ele primeiro tenta ler e executar comandos de /etc/profilee ~/.profile, nessa ordem.

Além disso:

O Bash tenta determinar quando está sendo executado com sua entrada padrão conectada a uma conexão de rede, como quando executada pelo daemon de shell remoto, geralmente rshd, ou o daemon de shell seguro sshd. Se o bash determinar que está sendo executado dessa maneira, ele lê e executa comandos de ~/.bashrce ~/.bashrc, se esses arquivos existem e são legíveis.

Portanto, isso significa que, se você estiver conectado localmente, deverá usar OK ~/.profile; mas, se você fizer o ssh para sistemas, precisará usá-lo ~/.bashrc. ~/.bashrctambém se aplica quando conectado localmente; então, tornou-se convenção usar isso.


fonte
3

Experimentar:

  • No terminal, Editar> Preferências> Título da guia e comando> Executar um comando personalizado do meu shell .

insira a descrição da imagem aqui

Ou

  • gnome-terminal --tab -e "your command" para abrir uma nova guia.

Mais informações: ManPage Gnome-terminal

stderr
fonte
2
Na verdade, apenas verificando o run command as login shellproblema corrigido.
se __name__ é None