저는 Linux Mint 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