如你所见,我设置了一个简单的脚本来 ping google(8.8.8.8),它应该会回复“Good Ping”
if [ "ping -c 1 8.8.8.8 | grep 64 | cut -c 1-2" == '64' ]; then echo "Good Ping"; fi
但它从不回应
同时我可以运行:
ping -c 1 8.8.8.8 | grep 64 | cut -c 1-2
这可以毫无问题地解析为“64”
我不明白顶部脚本永远不会打印“Good Ping”,有人可以解释一下吗?
答案1
字符串ping -c 1 8.8.8.8 | grep 64 | cut -c 1-2
永远不会等于 64,但这就是您要测试的内容。如果您想测试命令,请使用命令替换:
if [ $(ping -c 1 8.8.8.8 | grep 64 | cut -c 1-2) == 64 ] ; then
echo Good Ping
fi
`...`
可以代替 来使用$(...)
。