【发布时间】:2013-09-26 21:05:06
【问题描述】:
如果我执行以下操作,并且网络中断,那么将执行零情况,它不应该这样做。
case "$(ssh -n $host zfs list -t snapshot -o name -H | grep "tank/fs" | wc -l | awk '{print $1}')" in
0) # do something
;;
1) # do something else
;;
*) # fail
esac
在脚本的前面,我检查了我可以通过 SSH 连接到 $host,但今天我发现了这个问题,在我检查后网络立即出现故障。
如果我检查 SSH 命令的返回值,那么我将始终从 awk 获取返回值,因为它是最后执行的。
问题
我如何确保我实际上计算了 zfs 输出的零行,而不是失败的 SSH 连接产生的零行?
【问题讨论】:
标签: linux bash error-handling ssh