이는 xterm에서 작동합니다(참조https://unix.stackexchange.com/a/739977/119816)
xterm -e "echo hello; bash"
하지만 에서는 그렇지 않습니다 gnome-terminal
. 이를 수행하는 동등한 방법은 무엇입니까 gnome-terminal
?
gnome-terminal -- "echo hello; bash"
나는 다양한 인용 방법을 시도했지만 성공하지 못했습니다. 몇 가지 시도는 다음과 같습니다.
gnome-terminal -- "bash -c \"echo hello; bash\""
#
gnome-terminal -- /usr/bin/bash /tmp/echo-hi
/tmp/echo-hi
hi를 에코하는 쉘 스크립트는 어디에 있습니까?
그리고 다른 여러 변형.
답변1
bash -c
인용문에 표시되어서는 안 됩니다.
다음을 시도해 보십시오:
gnome-terminal -- bash -c "echo hello; bash"
저는 다음 예제를 사용하고 있습니다:
gnome-terminal --window --title "neovim" -- sh -c "nvim"
이는 단순히 "neovim"이라는 제목의 새 gnome 터미널 창에서 nvim
바이너리를 실행합니다. sh
제 경우에는 sh
바이너리에 대한 링크일 뿐입니다 bash
. 따라서 기본적으로 여기에서 원하는 쉘 바이너리를 사용할 수 있습니다.
답변2
이것은 작동합니다:
gnome-terminal -- bash -c "echo hello; exec bash"
핵심 사항은 다음과 같습니다.
그놈은 이중 대시를 사용하여
--
실행할 명령과 그놈 터미널 매개변수를 구분합니다.여러 명령을 실행하려면 이유를
bash -c
전달하여 실행해야 합니다 .echo hello; exec bash
안녕하세요출력한 다음 원래 bash를 대화형 터미널이 될 새 bash로 바꾸십시오.