Я застрял в этой проблеме последние четыре дня и пытался изменить код как можно больше, но безрезультатно.
Проблема в том, что команда mv
моего скрипта не имеет никакого эффекта. Я попытался заменить его на cp
, что ничего не изменило.
id="201910242020"
touch -t "$year$month$day$hr$min" /tmp/wakeup_$id.call
mv "/tmp/wakeup_$id.call" /var/spool/asterisk/outgoing/
cat /var/spool/asterisk/outgoing/wakeup_$id.call
Предположим, $year$month$day$hr$min
равно "201910242020"
Если я возьму такую же точную строкукод из скрипта и вставьте его в терминал, все работает. Файл перемещается.
Когда он выполняется как часть скрипта, все строки выполняются, за исключением mv
, который не работает по какой-либо причине, что впоследствии приводит к тому, что команда cat
вызываетошибка в том, что файл не существует. Его не существует, потому что он никогда не перемещался ...
Почему это происходит? Я воссоздал переменную $ id, используемую в моем сценарии, в интерактивном режиме и вставил ту же строку кода, и она работала в интерактивном режиме. Я не могу понять, почему это не так, когда в сценарии.
Когда я добавляю set -x
и использую путь к mv
в моем сценарии, я получаю:
/home/com/noc.sh: line 832: /home/com/.bash_profile: No such file or directory
+ /usr/bin/mv -v /tmp/wakeup_5644201910251537.call /var/spool/asterisk/outgoing/
/home/com/noc.sh: line 842: /usr/bin/mv: No such file or directory