gnome-terminal 전달 매개변수를 명령에 실행하고 명령 창을 열어두고 대화형으로 유지하는 방법

gnome-terminal 전달 매개변수를 명령에 실행하고 명령 창을 열어두고 대화형으로 유지하는 방법

이는 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-hihi를 에코하는 쉘 스크립트는 어디에 있습니까?

그리고 다른 여러 변형.

답변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"

핵심 사항은 다음과 같습니다.

  1. 그놈은 이중 대시를 사용하여 --실행할 명령과 그놈 터미널 매개변수를 구분합니다.

  2. 여러 명령을 실행하려면 이유를 bash -c전달하여 실행해야 합니다 .echo hello; exec bash안녕하세요출력한 다음 원래 bash를 대화형 터미널이 될 새 bash로 바꾸십시오.

관련 정보