Используя 'при' команде для синхронизированной видеозаписи на следующий день и делают это только однажды

Я пытаюсь 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
1
задан 19 October 2018 в 05:22

2 ответа

Ваш синтаксис эквивалентен из:

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"
2
ответ дан 7 December 2019 в 13:21

При рассмотрении человека в я предполагаю, что необходимо указать 5:45 без пространства. Это также позволяет Вам указывать завтра, таким образом, я попробовал бы "в 5:45 завтра"

0
ответ дан 7 December 2019 в 13:21

Другие вопросы по тегам:

Похожие вопросы: