Wykonaj polecenie za każdym razem, gdy terminal jest otwarty


19

Korzystam z Ubuntu 13.04 i chciałbym skonfigurować mój terminal, aby za każdym razem, gdy otwierana była nowa karta / okno, wykonywał następujące polecenie automatycznie i natychmiast.

 /bin/bash --login

Jak mogłem to osiągnąć? W OSX z iTerm 2 istnieje opcja uruchomienia polecenia przy starcie. Myślę, że tutaj powinienem to osiągnąć poprzez jakiś plik kropkowy ...


Dlaczego chcesz to zrobić? Po otwarciu nowego terminala to polecenie jest już wykonane.
Spack

Nie, nie jest. Potrzebuję tego z powodu błędu w używanym przeze mnie środowisku programistycznym. --loginFlaga jest kluczowa.
jeśli __nazwa__ to Brak

Odpowiedzi:


21

Dodaj polecenie do swojego ~/.bashrc. Technicznie, powinny być w stanie dodać do ~/.profilejak również, z man bash, INVOCATIONdokumentacji:

Jeśli bash jest wywoływany z tą nazwą sh, próbuje naśladować zachowanie startowe wersji historycznych shmożliwie jak najbliżej, jednocześnie zachowując zgodność ze standardem POSIX. Wywołany jako interaktywną powłokę logowania lub nie-interaktywnej powłoki z --loginopcją, pierwszych prób odczytu i wykonywania poleceń /etc/profilei ~/.profile, w tej kolejności.

Również:

Bash próbuje ustalić, kiedy jest uruchamiany ze standardowym wejściem podłączonym do połączenia sieciowego, tak jak w przypadku wykonania przez zdalny demon powłoki, zwykle rshdlub bezpieczny demon powłoki sshd. Jeśli bash stwierdzi, że został uruchomiony w ten sposób, że czyta i wykonuje polecenia z ~/.bashrci ~/.bashrc, jeżeli te pliki istnieją i są czytelne.

Oznacza to, że jeśli jesteś zalogowany lokalnie, powinieneś być OK, używając ~/.profile; ale jeśli ssh do systemów, będziesz chciał użyć ~/.bashrc. ~/.bashrcma również zastosowanie, gdy jest zalogowany lokalnie; więc właśnie stało się konwencją, aby z tego korzystać.


3

Próbować:

  • W terminalu edytuj> Preferencje> Tytuł karty i polecenie> Uruchom niestandardowe polecenie mojej powłoki .

wprowadź opis zdjęcia tutaj

Lub

  • gnome-terminal --tab -e "your command" aby otworzyć nową kartę.

Więcej informacji: ManPage Gnome-terminal


2
Właściwie po prostu sprawdzenie run command as login shellnaprawił mój problem.
jeśli __nazwa__ to Brak
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.