gnome-terminal이 bash를 시작하면 명령 실행과 관련하여 루프에서 벗어납니다. 입력 및 출력 만 관리합니다. 따라서 ~/.bashrc
로드 된 후에 무언가를 실행하려면 bash의 협력이 필요합니다 .
첫째, 많은 경우 실제로 실제로 이후에 명령을 실행할 필요가 없습니다 ~/.bashrc
. 예를 들어, 특정 디렉토리에서 터미널을 여는 것은 간단히 수행 할 수 있습니다 cd /foo/bar && gnome-terminal
. 비슷한 방식으로 환경 변수를 설정할 수 있습니다 VAR=value gnome-terminal
. ( ~/.bashrc
환경 변수를 재정의하는 경우 환경 변수가 잘못 정의되어 있습니다~/.profile
. 환경 변수 정의가에 속함 )
터미널에서 명령을 실행하지만 이전 ~/.bashrc
에는 수행 할 수 있습니다.
gnome-terminal -x sh -c 'command1; command2; exec bash'
여러 개의 탭을 사용하려면 -e
대신 을 사용해야 합니다 -x
. 그놈 터미널 -e
은 쉘을 통해 실행하지 않고 공백에서 인수를 무의식적으로 나눕니다 . 그럼에도 불구하고 공백을 포함하지 않으면 쉘 명령을 작성할 수 있습니다. (대체하지만 그놈 터미널 2.26로 적어도, 당신은, 탭을 사용할 수 있습니다 <TAB>
리터럴 탭 문자) :
gnome-terminal -e 'sh -c command1;command2;exec<TAB>bash'
gnome-terminal --tab -e 'sh -c command1;<TAB>exec<TAB>bash' \
--tab -e 'sh -c command2;<TAB>exec<TAB>bash'
당신이 후 명령을 실행해야 할 경우 ~/.bashrc
, 확인 이 명령을 실행합니다. 예를 들어, 끝에 다음 코드를 포함 시키십시오 ~/.bashrc
.
eval "$BASH_POST_RC"
그런 다음 bashrc 다음에 (실제로 끝 부분에) 코드를 실행하십시오.
gnome-terminal -x sh -c BASH_POST_RC=\''command1; command2'\''; exec bash'
또는 (인용에 덜 무거운)
BASH_POST_RC='command1; command2' gnome-terminal
비록 이런 식으로 그렇게하지 않는 것이 좋지만 , 명령 행에 이미 입력 된 특정 텍스트로 터미널을 시작하는 방법에 언급 된 기술에 관심이 있으
십니까? .