이 bash 스크립트가 있습니다.
while [[ 1 ]] ; do sleep 3600 ; ./notify.sh --text "ricordati di bere" && play /mnt/musica/login.wav && zenity --info --text="<span size=\"xx-large\">Time is $(date +%Hh%M).</span>\n\nricordati di <b>bere</b>." --title="drink time" ; done
이 스크립트를(8시부터 덜 중요함) 19시(가장 중요)까지 실행하고 싶습니다. 이것이 가능합니까? 명령을
보았지만 at
"until" 또는 "before"를 설정하는 방법을 찾지 못했습니다.
이 질문은 다음과 다릅니다.이것
답변1
예약을 위해 cron을 사용할 수 있습니다. 일정은 다음과 같습니다
0 8-19 * * * /path/to/script
또는
0 8,9,10,11,12,13,14,15,16,17,18,19 * * * /path/to/script
스크립트는 다음과 같습니다
#!/bin/sh
./notify.sh --text "ricordati di bere" &&
play /mnt/musica/login.wav &&
zenity --info \
--text="<span size=\"xx-large\">Time is $(date +%Hh%M)</span>\n\nricordati di <b>bere</b>." \
--title="drink time"
여러분도 구경해 보세요”쉘 스크립트를 통해 10분마다 이메일을 보내는 방법은 무엇입니까?"
답변2
Linux를 사용한다고 가정하면,정지시키다가장 간단한 방법입니다. 08:00부터 19:00까지는 11시간이므로 11시간 동안 스크립트를 실행하도록 timeout을 지정합니다.
timeout 11h /home/username/script
08:00에 cron을 사용하여 작업을 시작하고(또는 원하는 경우 수동으로 시작) 정확히 19:00에 다른 cron 항목을 사용하여 자동으로 종료합니다.
kill -9 /home/username/script