Esegui un comando ogni volta che Terminal è aperto


19

Sono su Ubuntu 13.04 e vorrei configurare il mio terminale, in modo che ogni volta che si apre una nuova scheda / finestra, esegua automaticamente e immediatamente il seguente comando.

 /bin/bash --login

Come ho potuto raggiungere questo obiettivo? Su OSX con iTerm 2 c'è un'opzione per eseguire un comando all'avvio. Immagino che qui dovrei ottenere questo attraverso una sorta di dotfile ...


Perchè vuoi fare questo? Quando si apre un nuovo terminale, questo comando è già eseguito.
Spacca

No non lo è. Ho bisogno di questo a causa di un bug in alcuni ambienti di sviluppo che uso. La --loginbandiera è cruciale.
se __name__ è Nessuno

Risposte:


21

Aggiungi il comando al tuo ~/.bashrc. Tecnicamente, dovresti essere in grado di aggiungere ~/.profileanche, dalla man bash, INVOCATIONdocumentazione:

Se bash viene invocato con il nome sh, cerca di imitare il comportamento di avvio delle versioni storiche il shpiù vicino possibile, pur rispettando lo standard POSIX. Quando viene invocato come shell di login interattiva o come shell non interattiva con l' --loginopzione, tenta innanzitutto di leggere ed eseguire i comandi da /etc/profilee ~/.profile, in questo ordine.

Anche:

Bash tenta di determinare quando viene eseguito con il suo input standard collegato a una connessione di rete, come quando viene eseguito dal daemon di shell remoto, in genere rshd, o dal daemon di shell sicuro sshd. Se bash determina che viene eseguito in questo modo, legge ed esegue i comandi da ~/.bashrce ~/.bashrc, se questi file esistono e sono leggibili.

Quindi, questo significa che se sei loggato localmente dovresti essere OK usando ~/.profile; ma, se usi i sistemi, ti consigliamo di usarli ~/.bashrc. ~/.bashrcvale anche per l'accesso locale; così, è appena diventata una convenzione usarlo.


3

Provare:

  • Nel terminale, Modifica> Preferenze> Titolo scheda e comando> Esegui un comando personalizzato della mia shell .

inserisci qui la descrizione dell'immagine

O

  • gnome-terminal --tab -e "your command" per aprire una nuova scheda.

Ulteriori informazioni: ManPage Gnome-terminal


2
In realtà, run command as login shellsto solo controllando il mio problema risolto.
se __name__ è Nessuno
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.