I have the following code: (record.sh)
cd $(dirname $0)
dt=$(date '+%d/%m/%Y %H:%M:%S');
echo $dt;
read action < /home/nfs/sauger/web/pi/action.txt
echo $action;
if [[ $action == *"start"* ]]
then
echo "start recording"
./gone.sh
exit 1
elif [[ $action == *"stop"* ]]
then
echo "stop recording"
./gone.sh
exit 1
else
#More stuff done here
fi
当我手动运行这个脚本时,输出如下:
19/01/2016 19:07:11
start
start recording
如果相同的脚本通过(根)cronjob 运行,则输出如下:
19/01/2016 19:07:01
start
如您所见,文件“action.txt”已经被成功读取(“start”两次被记录),因此这不是权限或路径问题。但是,当作为cron作业运行时,if语句没有调用。没有“开始录音”的出现。
所以我的问题是:为什么当我手动调用脚本时if语句可以工作,但是当通过cron来完成时却不能?