코드가 lorem.sh
파일에 있는 cron을 통해 화면 명령을 실행합니다.
크론 코드는 다음과 같습니다.* * * * * cd /home/z; ./lorem.sh
안에 lorem.sh
:
screen -S screenname -X stuff $'\033[B'
sleep 1 && screen -S screenname -X stuff 2
sleep 1 && screen -S screenname -X stuff "lorem ipsum dolor"
sleep 1 && screen -S screenname -X stuff $'\n'
위 코드 lorem.sh
: 첫 번째 줄은 "아래쪽 화살표"이고 네 번째 줄은 "Enter"입니다.
cron을 실행하면 lorem.sh
두 번째와 세 번째 줄만 작동합니다.
lorem.sh
위의 내용은 를 입력하여 터미널에서 실행하면 제대로 작동 ./lorem.sh
하지만 cron을 통해서는 작동하지 않습니다.
답변1
대부분의 버전의 cron
run 명령은 기본적으로 사용되며 /bin/sh
명령이 실행되는 경우 쉘 스크립트를 실행하는 데에도 사용됩니다 ( #!
특정 쉘을 사용하도록 강제하는 행은 없습니다) ./bin/sh
일부 시스템에서는 /bin/sh
그렇습니다 dash
. 이해하지 못합니다.ANSI-C 참조 규칙bash
다른 쉘과 함께 사용하십시오. 따라서 $'\n'
문자열은 아마도 3자 string 으로 해석될 것입니다 $\n
.
대부분의 버전에서는 cron
명령을 실행할 셸을 지정할 수 있습니다. bash
crontab을 편집하여 줄을 추가하여 사용할 수 있습니다
SHELL=/bin/bash
작업을 예약하는 줄 앞에 나타납니다.
lorem.sh
또는 언제든지 추가하여 사용할 수 있습니다.bash
#!/bin/bash
첫 번째 줄로.