저는 리눅스 민트 19.03을 사용하고 있습니다.
우선, 나는 이 질문이 중복되었다고 생각할 수 있는 가능한 질문을 대부분 읽었음을 확신할 수 있습니다.
이제 기본적으로 터미널 창에 무언가를 입력하여 새 터미널 창을 열고 명령을 실행하고 싶습니다.
이 같은:
[the part I am asking of] "echo $PATH; read"
이 코드는 새 터미널을 열고, $PATH 변수를 표시하고, 터미널을 중지하기 위해 읽어야 합니다.
나는 시도했거나 x-terminal-emulator -e
시도 x-terminal-emulator -c
했지만 -x
결코 제대로 할 수 없습니다. 이 SE의 유사한 질문에 대한 모든 답변은 오래된 답변이며 -e 또는 -x를 사용하지만 해당 옵션은 더 이상 사용되지 않습니다.
그렇다면 이것을 달성하는 가장 정확한 방법은 무엇입니까?
감사해요.
답변1
x-terminal-emulator
자체적으로 쉘을 시작하지 않습니다. 그러면 -e
이 옵션을 사용하여 실행할 실행 파일 만 남습니다 .
echo
실행 파일( )로 사용할 수 있지만 가 /bin/echo
없으면 내부 명령 read
으로는 bash
실패합니다 bash
. 따라서 새 창의 출력은 열려 있는 창보다 빠르게 완료되며, read
실패하면 보기 전에 창이 닫힙니다.
이렇게 하면 트릭이 수행됩니다.
x-terminal-emulator -e "bash -c 'echo $PATH; read'"
이제 실행될 쉘을 x-terminal-emulator
시작하십시오 . 이제 특수 명령을 내부 명령 으로 사용할 수 있으므로 명령이 실패하지 않고 입력을 기다리므로 키를 누를 때까지 창이 열린 상태로 유지됩니다.bash
echo $PATH; read
echo
read
bash
read