다른 폴더 (작업 디렉토리)에서 여러 터미널 탭을 여는 방법은 무엇입니까? 폴더에서 여러 개의 탭을

하나의 스크립트가 다른 폴더에서 여러 개의 탭을 열기를 원합니다.

검색하는 동안 항목을 찾았 지만 아래와 같이 교환하면 내 홈 폴더에 3 개의 탭이있는 터미널이 열립니다. 오류 메시지는 다음과 같습니다.

Failed to parse arguments: Unknown option --execute=cd /some/thing/

스크립트는 다음과 같습니다.

#!/bin/sh
gnome-terminal --tab --execute="cd /some/thing/" \
          --tab --execute="cd /home/" \
          --tab --execute="cd /home/" \
exit 0

–working-directory = “/ some / thing /”변형도 도움이되지 않았습니다. 실수가 보입니까?



답변

다음은 oneiric에서 나를 위해 작동합니다. 버전 대신 이것을 사용할 수 있습니다.

#!/bin/bash
gnome-terminal --tab  --working-directory="/var/www/" --tab --working-directory='/home/' --tab --working-directory='/home/'
exit 0


답변

--execute옵션을 올바르게 사용하지 않으면 특정 오류가 발생합니다 . 아래 맨 페이지에서 발췌 한 내용을 보면 구문의 일부로 등호가 표시 --execute 되지 않습니다 . 명령 행의 나머지 부분 만 실행하기 때문입니다. 올바른 사용법의 예는 다음과 같습니다.

gnome-terminal --execute play '/home/cjohnson/Still Alive.mp3'

중요 참고 :
사용 cd은 어쨌든 약간 특별한 경우입니다. cd대부분의 명령과는 다릅니다. 자체 바이너리 / 실행 파일을 시작하지 않습니다. 직접 bash(또는 사용중인 쉘에 의해) 해석됩니다 . 따라서 호출을 시도하는 cd것은 --executeand -x플래그 (자식 프로세스를 직접 생성하려는 것)에 동의하지 않습니다 . bashlike 로 직접 처리되는 다른 명령에서도 동일한 문제가 발생합니다 (확인했습니다) home. 등호없이 올바르게 사용하더라도 “파일 또는 디렉토리를 찾을 수 없습니다.”라는 오류가 계속 발생합니다. 따라서 원하는 --working-directory=[DIRECTORY]옵션을 사용하는 것이 최선의 방법입니다.

또 다른 중요 참고 사항 :
그렇지 않은 경우에도 여전히 문제가 발생합니다. --execute실제로 옵션의 의미를 의도 할 때 옵션 을 사용하려고하면 문제가 발생 합니다 --command. 매뉴얼 페이지 설명서에는 구체적으로 설명되어 있습니다.

-e, –command = STRING 터미널 내 에서이 옵션에 대한 인수를
실행 합니다 .

-x, –execute 터미널 내부의 나머지 명령 줄을
실행합니다 .

(강조 광산)

다시 말해서, 아마도 당신이 생각하는 방식으로 구문 분석하지 않을 것입니다. 를 사용 --execute하면 추가 옵션을에 전달할 수 없습니다 gnome-terminal.

별도의 탭에서 여러 명령을 실행하는 내 스크립트 중 하나에서 발췌 한 내용 (개인 정보 보호 / 보안에 따라 이름이 변경됨) :

gnome-terminal --tab --command="ssh cjohnson@GLaDOS" --tab --command="ssh drattman@GLaDOS"

( 실수로, 또는 --command플래그 를 사용하려고하면 “No such file or directory”오류가 발생합니다.)cdhome

나는 이것이 너무 길지 않기를 바랍니다. 나는 철저하게 노력하고 있습니다.


답변