Ну, это - общее поведение для программ при отладке, и не действительно преодолимое. Инициализация изменений переменных, существует больше доступной информации, процесс выполнения программы изменяется.
Или Вы получаете источник ls и выполняете его через другой отладчик, надеясь, что он покажет ошибку, или Вы пытаетесь найти ответ, обходное решение на других путях.
Рекомендуемый способ сделать это использует unattended-upgrades
команда. Установка его проста:
apt-get install unattended-upgrades
dpkg-reconfigure unattended-upgrades
Это - все, что необходимо получить результаты того, что Вы предназначаете в своем сценарии крона. Нет никакой потребности изобрести велосипед.
Насколько Ваш сценарий и это являются сообщением об успехе, любой ненулевой код возврата считают отказом. Ваш сценарий полагает, что любые не1 успех. Нет никакой потребности проверить коды выхода вручную, именно это if
делает.
if apt-get upgrade -y; then
echo "$(date): Daily update successful" >> $captains_log
else
echo "$(date): Daily update failed" >> $captains_log
fi
Когда оболочка имеет "команду, не найденную", код выхода 127 возвращается.
apt-get
в оболочке-searchpath кронов?
Это всегда - хорошая практика для использования полного пути для внешних команд в заданиях крона.
cron
и журналы к/var/log/unattended-upgrades.log
. – jason 01.06.2013, 01:31