Я пытаюсь 1) start and stream video to vlc
и 2) record the same video stream to a file that starts at 05:45 am the next day
все работает, но время начала, вместо того, чтобы запустить в 5:45 на следующий день его сразу запускается. Что я пропускал?
bash -c "streamlink --stdout https://www.youtube.com/watch?v=XOacA3RYrXk 720p | tee /tmp/water_vid/water_video-$(date +"%H:%M_%m-%d-%Y").mkv | vlc -" | at 05:45 am
Ваш синтаксис эквивалентен из:
notify-send "Hello" | at now +1 minute
Где notify-send
команда будет сразу выполнена, и ничто не будет передано по каналу к стандартному входу at
. При помощи atq
получить последнее число задания и at -c <job-number>
мы видим то, что на самом деле будет выполняться. Таким образом, анализирование вышеупомянутого задания ничего не покажет:
$ at -c "$(atq | sort | awk 'END{print $1}')" | grep 'Hello'
Правильный синтаксис состоит в том, чтобы использовать echo
производить Вашу команду как строку, которая будет передана по каналу к стандартному входу команды at
:
echo 'notify-send "Hello"' | at now +1 minute
В этом случае вывод анализирования последнего задания будет отличаться:
$ at -c "$(atq | sort | awk 'END{print $1}')" | grep 'Hello'
notify-send "Hello"
При рассмотрении человека в я предполагаю, что необходимо указать 5:45 без пространства. Это также позволяет Вам указывать завтра, таким образом, я попробовал бы "в 5:45 завтра"