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

Error bad substitution when scheduling script in crontab

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

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

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

谁能帮我摆脱这个

谢谢......

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

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

#!/bin/bash