我有一个脚本,可以在其中将一些文本写入文件。如果我从 shell 手动调用它,它工作得很好,但如果从 cron 调用它,它似乎不能正常工作。文件已创建,但没有写入任何内容/tmp/tx_buf
。该脚本如下所示:
#!/bin/bash
declare -i Threshold=1000
tmpfile="/tmp/tx_buf"
if [ -e $tmpfile ]
then
echo "$tmpfile exists, read value"
typeset -i last=$(cat $tmpfile)
echo $last
fi
typeset -i val=$(cat /sys/class/net/eth0/statistics/tx_packets)
echo $val > $tmpfile
declare -i diff=`expr $val - $last`
echo "difference: $diff"
if [[ "$diff" -gt "$Threshold" ]]
then
echo "music is playing, invoke action"
`xdotool mousemove_relative 1 1`
else
echo "no music playing, ignore"
fi
这是为什么呢,我很奇怪?
答案1
您可以通过以下方式进行一些故障排除:
像这样更改脚本头:
#!/bin/bash 执行1>/tmp/$0.log 2>&1 设置-x ...将其余的脚本插入此处...
cron 启动脚本后,您应该找到一个名为
/tmp/.log
这应该提供有关运行时发生的情况的详细信息。