Скрипт с Crontab запускает видео VLC без звука

Конструкция ${variable-alternate value}использует альтернативное значение, если переменная установлена, но не если для нее задана пустая строка (, то есть пустая ). Если вы хотите использовать альтернативное значение, если переменная не установлена ​​ИЛИ установлена ​​​​в пустую строку, используйте ${variable:-alternate value}(, обратите внимание на двоеточие )вместо:

local v="${name:-$tag}"
0
21.05.2021, 03:45
1 ответ

Вот мой шаблонный cronответ, надеюсь, что-то из этого поможет.

Задания, выполняемые через cron, или at, или batch, не выполняются в той же среде выполнения, что и на вашем рабочем столе. Ни одно из ваших изменений PATHили других настроек переменных среды не распространяется автоматически на ваше задание cron. Например, $DISPLAYнет, поэтому программы с графическим интерфейсом требуют специальной обработки (читатьman xhost).

Можно установить переменные среды для всех своих cronзаданий в файле crontab. Прочтите man 5 crontab.

Посмотрите на результаты echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";aliasв каждой из ваших сред.

Поскольку часть commandстроки crontabпо умолчанию интерпретируется синтаксис /bin/sh, который имеет более простой синтаксис, чем /bin/bash, я рекомендую, чтобы commandбыл вызовом bashскрипт (исполняемый, смонтированный, начинается с 7 #!/bin/bash), который настраивает среду, затем вызывает нужную программу.

0
28.07.2021, 11:32

Теги

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