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:错误替换
任何人都可以让我离开这个
感谢.....
答案 0 :(得分:2)
" 糟糕的替换"听起来你的shell无法处理你的脚本。您使用的是什么shebang?我假设cron使用与您使用的shell不同的shell运行脚本,例如破折号而不是bash。
尝试将以下shebang添加到脚本的开头,看看它是否解决了您的问题:
#!/bin/bash