我正在尝试编写一个脚本来检查几个函数返回,如果返回1写入日志文件并发送给我一封电子邮件,但循环没有按预期工作:
你能帮忙找一个错误吗?
w2log() {
if [[ $? = 0 ]] ; then
echo "=== Everything looks good ! DONE `date` ===" >> $LOG;
else
echo "=== Something went wrong ! FAILED `date` ===" >> $LOG && errmail
fi
}
updaterepos() {
syn6332
syn5864
for repo in syn6332 syn5864; do
w2log
done
}
updaterepos
答案 0 :(得分:1)
也许是这样的(如果你想为每个命令提供w2log
报告):
updaterepos() {
for repo in syn6364 syn5864 ; do
$repo
w2log
done
}
应该在命令返回状态后立即调用函数检查$?
。函数调用也设置了$?
- 这就是你第二次调用w2log
时获得第二个“完成”行的原因。