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이제 무슨 일이 일어나든 + 를 통해 Ctrl무엇이든 죽일 때 C어떤 이유로든 프로그램이 종료되고 해당 터미널이 종료됩니다.

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[@]}"

관련 정보