터미널이 열릴 때마다 명령 실행


19

Ubuntu 13.04를 사용하고 있으며 새 탭 / 창이 열릴 때마다 다음 명령을 자동으로 즉시 실행하도록 터미널을 구성하고 싶습니다.

 /bin/bash --login

어떻게하면 되나요? iTerm 2가있는 OSX에는 시작시 명령을 실행하는 옵션이 있습니다. 나는 여기서 일종의 도트 파일을 통해 이것을 달성해야한다고 생각합니다 ...


왜 이러고 싶니? 새 터미널을 열면이 명령이 이미 실행되었습니다.
Spack

아닙니다. 내가 사용하는 일부 개발 환경의 버그로 인해 이것이 필요합니다. --login플래그는 중요하다.
__name__이 None 인 경우

답변:


21

에 명령을 추가하십시오 ~/.bashrc. 기술적으로, 당신이 해야 에 추가 할 수 ~/.profile에서뿐만 아니라 man bash, INVOCATION문서 :

bash가 이름으로 호출 되면 POSIX 표준도 준수하면서 가능한 한 sh히스토리 버전의 시작 동작을 모방하려고 시도합니다 sh. 대화식 로그인 쉘 또는 --login옵션이 있는 비 대화식 쉘로 호출되면 먼저 /etc/profile~/.profile순서대로 명령을 읽고 실행하려고 시도합니다 .

또한:

Bash는 원격 쉘 데몬 (일반적 rshd으로 또는 보안 쉘 데몬)에 의해 실행될 때와 같이 표준 입력이 네트워크 연결에 연결된 상태에서 언제 실행되고 있는지 확인합니다 sshd. bash가 이러한 방식으로 실행되고 있다고 판단 되면 이러한 파일이 존재하고 읽을 수있는 경우 ~/.bashrc~/.bashrc에서 명령을 읽고 실행합니다 .

따라서 이것은 로컬로 로그인 한 경우 ~/.profile; 그러나 시스템으로 ssh하면을 사용하고 싶을 것 ~/.bashrc입니다. ~/.bashrc로컬로 로그인 할 때도 적용됩니다. 그래서 그것을 사용하는 것이 관습이되었습니다.


3

시험:

  • 터미널에서 편집> 환경 설정> 탭 제목 및 명령> 내 쉘의 사용자 정의 명령 실행 .

여기에 이미지 설명을 입력하십시오

또는

  • gnome-terminal --tab -e "your command" 새 탭을 엽니 다.

추가 정보 : 맨 페이지 그놈 터미널


2
실제로, 단지 run command as login shell문제를 확인하면 문제가 해결되었습니다.
__name__이 None 인 경우
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.