둘 이상의 명령을 실행하는 방법 gnome-terminal

둘 이상의 명령을 실행하는 방법 gnome-terminal

다음과 같은 일부(15개 이상의) 응용 프로그램을 실행하는 스크립트가 있습니다.

cd mypath
sleep 1
gnome-terminal -t App1 --tab -e "./App1" 
sleep 1
gnome-terminal -t App2 --tab -e "./App2" 
..
..
sleep 1
gnome-terminal -t App15 --tab -e "./App15"  

보시다시피 이는 15개의 다른 터미널에서 앱을 시작합니다.

이제 + ./AppX로 어떤 것을 종료하면 어떤 이유로든 프로그램이 종료되고 해당 터미널도 종료됩니다. CtrlC

Ctrl내가 원하는 것은 +를 누르면 C가 종료되지만 ./AppX터미널은 여전히 ​​열려 있는 것입니다. 다시 시작하려면 AppX위쪽 화살표 키와 Enter만 눌러야 하기 때문입니다.

편집하다::
답을 얻었습니다::askubuntu.com에서 허용되는 답변을 참조하세요.

또 다른 질문은: 다음과 같은 명령을 두 개 이상 실행하려면 어떻게 해야 합니까?

gnome-terminal -e "sleep 1; AppX"  

작동하지 않아서 다양한 다른 방법(&, &&, |)을 시도했지만 모두 실패했습니다.

답변1

다음 명령은 다중 그놈 터미널에 15개의 탭이 있는 새 터미널을 엽니다.

cd mypath
multi-gnome-terminal \
  --add-tab -tname App1 --tcommand "./App1" \
  --add-tab -tname App2 --tcommand "./App2" \
  ...
  --add-tab -tname App15 --tcommand "./App15" \

정말로 수면이 필요한 경우 다음과 같이 통합할 수 있습니다.

cd mypath
multi-gnome-terminal \
  --add-tab -tname App1 --tcommand "sleep 1; ./App1" \
  --add-tab -tname App2 --tcommand "sleep 2; ./App2" \
  ...
  --add-tab -tname App15 --tcommand "sleep 15; ./App15" \

실행하려는 명령의 개수/목록을 동적으로 변경해야 하는 경우 다음을 사용할 수 있습니다.

cd mypath
cmd=(multi-gnome-terminal)
cmd=("${cmd[@]}" --add-tab -tname App1 --tcommand "sleep 1; ./App1")
cmd=("${cmd[@]}" --add-tab -tname App2 --tcommand "sleep 2; ./App2")
  ...
cmd=("${cmd[@]}" --add-tab -tname App15 --tcommand "sleep 15; ./App15")
"${cmd[@]}"

관련 정보