У меня есть простой скрипт для поиска сопряженной bluetooth-гарнитуры, как показано ниже, и он запланирован в cron для запуска каждую минуту. Он работает и подключается к сопряженной bluetooth-гарнитуре, когда она включена, и дает сбой, если устройство bluetooth выключено, как ожидалось. Для отладки планировщика cron ловил логи работы скрипта в лог. И этот журнал добавляет только 0 stdout, а не 1 stderr.
Скрипт
#!/бин/баш
TIMESTAMP=`дата "+%d-%m-%Y %H:%M:%S"`
#rfkill block bluetooth --- Используйте это, чтобы заблокировать bluetooth
bluetoothctl питание включено
если [$? == 0 ]
тогда
echo "$TIMESTAMP Bluetooth запущен. Соединение с сопряженным устройством"
подключение bluetoothctl 74:45:CE:97:90:72
если [$? == 1 ]
тогда
echo "$TIMESTAMP Не удалось подключить гарнитуру Sony. Пожалуйста, проверьте доступность гарнитуры"
bluetoothctl питание выключено
echo "$TIMESTAMP Остановил Bluetooth"
еще
echo "$TIMESTAMP подключен к гарнитуре Sony через Bluetooth"
фи
фи
Крон:
#Для автоматического подключения Bluetooth
* * * * * /home/xxxxx/Documents/Shell/scripts/bluetooth.sh >> /home/xxxxx/Documents/Shell/scripts/logs/bluetooth.log 2>&1
Когда я запускаю скрипт вручную, он перехватывает stderr и stdout в зависимости от соединения.
Изменение питания выполнено
23-01-2022 22:12:59 Bluetooth запущен. Подключение к сопряженному устройству
Попытка подключения к 74:45:CE:97:90:72
Не удалось подключиться: org.bluez.Error.Failed
1
23-01-2022 22:12:59 Подключен к гарнитуре Sony по Bluetooth
HP-Pavilion:~/Documents/Shell/scripts$
Но журнал /home/xxxxx/Documents/Shell/scripts/logs/bluetooth.log всегда имеет вывод ниже как успешное подключение независимо от подключения.
23-01-2022 22:10:01 Bluetooth запущен. Подключение к сопряженному устройству
Попытка подключения к 74:45:CE:97:90:72
0
23-01-2022 22:10:01 Подключен к гарнитуре Sony по Bluetooth
23-01-2022 22:11:01 Bluetooth запущен. Подключение к сопряженному устройству
Попытка подключения к 74:45:CE:97:90:72
0
23-01-2022 22:11:01 Подключен к гарнитуре Sony по Bluetooth
23-01-2022 22:12:01 Bluetooth запущен. Подключение к сопряженному устройству
Попытка подключения к 74:45:CE:97:90:72
0
23-01-2022 22:12:01 Подключен к гарнитуре Sony по Bluetooth
23-01-2022 22:13:01 Bluetooth запущен. Подключение к сопряженному устройству
Попытка подключения к 74:45:CE:97:90:72
0
23-01-2022 22:13:01 Подключен к гарнитуре Sony по Bluetooth
23-01-2022 22:14:01 Bluetooth запущен. Подключение к сопряженному устройству
Попытка подключения к 74:45:CE:97:90:72
0
23-01-2022 22:14:01 Подключен к гарнитуре Sony по Bluetooth
Может ли кто-нибудь помочь мне, почему в журнале cron нет ошибок, когда Bluetooth не подключается?