달러 기호가 포함된 명령을 사용하여 명령을 실행 하려고 하는데 screen
달러 기호가 전달되지 않습니다.
screen -d -m echo \$ > test.txt
test.txt
결국 빈 파일이 됩니다...
답변1
리디렉션 중인 출력입니다 screen
. 그렇기 때문에 test.txt
비어 있습니다.
실제로 $
는 매개변수로 전달됩니다 echo
. screen을 호출하는 쉘은 \$
결과 단일 문자 문자열이 $
인수가 되는 것을 볼 것입니다 echo
. 화면이 실행되어 화면창에 표시됩니다 echo
. $
그 후 프로그램은 즉시 반환되고 창이 닫힙니다.
셸 구성을 사용하여 화면 창에서 작업을 수행하려면 셸을 명시적으로 호출해야 합니다.
screen -d -m sh -c 'echo \$ >test.txt'