태그 보관물: scripts

scripts

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

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

검색하는 동안 항목을 찾았 지만 아래와 같이 교환하면 내 홈 폴더에 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

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


답변