在crontab中调度脚本时出错错误替换

时间:2015-04-03 06:36:51

标签: linux crontab substitution

a=$(iostat | awk 'FNR==4 {print $1}')
b=$(iostat | awk 'FNR==4 {print $2}')
c=$(iostat | awk 'FNR==4 {print $3}')
d=$(iostat | awk 'FNR==4 {print $4}')
e=$(iostat | awk 'FNR==4 {print $5}')
f=$(echo "scale=2;$a+$b+$c+$d+$e" | bc)
f=${f::-3}
echo $f >> /home/srikanth/tst

这是我的代码。我为cpu load编写了它。我想在crontab中安排它每分钟运行一次。当我手动执行它时它工作正常。但是当我在crontab中安排它时,它正在创建带有错误的dead.letter

/home/srikanth/srk.sh:7:/home/srikanth/srk.sh:错误替换

任何人都可以让我离开这个

感谢.....

1 个答案:

答案 0 :(得分:2)

" 糟糕的替换"听起来你的shell无法处理你的脚本。您使用的是什么shebang?我假设cron使用与您使用的shell不同的shell运行脚本,例如破折号而不是bash。

尝试将以下shebang添加到脚本的开头,看看它是否解决了您的问题:

#!/bin/bash