Bash에서 새 터미널 세션 시작

Faaiq Bilal 2023년6월20일
  1. gnome-terminal 명령을 사용하여 Bash에서 새 터미널 세션 시작
  2. Bash의 동일한 터미널에서 새 탭 열기
Bash에서 새 터미널 세션 시작

다양한 상황에서 Bash 또는 기타 셸로 작업할 때 새 터미널 인스턴스 또는 동일한 터미널의 다른 탭에서 스크립트나 프로그램을 실행해야 할 수 있습니다. 터미널 내에서 새 터미널 인스턴스 또는 탭을 여는 것은 간단합니다. 충분한 예를 들어 자세히 설명하겠습니다.

Note
기사 예제는 대부분의 LINUX 배포판에서 공통적인 GNOME 데스크탑 환경을 실행하는 시스템에 대한 것입니다.

gnome-terminal 명령을 사용하여 Bash에서 새 터미널 세션 시작

이미 실행 중인 인스턴스에서 새 터미널을 시작하려면 gnome-terminal이라는 간단한 명령을 사용해야 합니다. 그러면 새 터미널 인스턴스가 시작되고 새 창이 열립니다.

새 터미널을 열고 이미 실행 중인 인스턴스에서 프로그램을 실행하려는 경우 이 작업을 수행하는 몇 가지 방법이 있습니다.

gnome-terminal -x "complete/path/of/the/program" &

위의 명령은 새 터미널에서 원하는 프로그램을 실행합니다. 실행하려는 프로그램의 전체 경로를 제공하는 것이 중요합니다.

명령 끝에 있는 &는 이 작업을 원래 터미널 인스턴스의 배경으로 이동합니다. 명령 끝에 &를 추가하지 않으면 새 터미널이 초기화되기 전에 프로그램이 실행을 시도할 수 있으므로 오류가 발생할 수 있습니다.

bash -c 옵션은 gnome-terminal 명령과 함께 사용하여 새 터미널에서 여러 Bash 명령을 실행할 수 있습니다.

gnome-terminal 명령의 구문은 다음과 같습니다.

gnome-terminal --command="bash -c '[cmd1]; [cmd2]; $SHELL'"

여기서 --command="bash -c"는 새 터미널에 이것이 Bash 명령 또는 스크립트임을 알려주고 cmd1cmd2는 각각 첫 번째 및 두 번째 명령의 이름을 나타냅니다.

명령 끝에 있는 $SHELL은 명령을 완료한 후에도 터미널을 열린 상태로 유지합니다.

위 예제의 대체 구문은 다음과 같습니다.

gnome-terminal -x bash -c "<cmd>; exec bash"

이 명령의 끝에 있는 exec bash$SHELL과 동일한 용도로 사용됩니다(즉, 명령을 실행한 후 터미널을 열린 상태로 유지).

Bash의 동일한 터미널에서 새 탭 열기

추적하기 어려울 수 있으므로 여러 터미널 창을 열지 않는 경우도 있습니다. 이러한 상황에서는 동일한 터미널에서 새 탭을 여는 것이 더 나은 방법입니다.

새 터미널 탭을 여는 명령은 다음과 같습니다.

gnome-terminal --tab

이것은 위에서 설명한 예와 결합하여 다음과 같은 새 터미널 탭에서 명령을 실행할 수 있습니다.

gnome-terminal --tab -x bash -c "<cmd>; exec bash"

위의 명령은 그놈 환경을 지원하는 시스템용이라는 점에 유의해야 합니다.

macOS의 경우 다음을 사용하여 이미 실행 중인 터미널에서 새 터미널의 명령을 실행할 수 있습니다.

osascript -e 'tell app "Terminal" to do script "cmd"'

그러면 새 터미널이 열리고 새로 생성된 터미널에서 cmd 명령이 실행됩니다.