过去四天来,我一直在这个问题上停留,并尝试尽可能多地修改代码而无济于事。
问题是我的脚本的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