我试图在 for 循环中创建两个 if 条件。这可能吗?现在不从 first返回任何第二个if只有两个。OKif
#!/bin/bash
servers=("212.39.82.157" "212.39.82.157" "1.1.1.1")
for i in "${servers[@]}"; do
ping -c 1 $i > /dev/null
if [ $? -eq 0 ]; then
echo "OK"
fi
if [ $(netstat -na | grep ':3708' | grep ESTABLISH | wc -l) -eq 2 ]; then
echo "NOT - OK"
fi
done
Run Code Online (Sandbox Code Playgroud)
对于IP列表中的第三个必须返回,NOT - OK因为它不在线。但输出是这样的
root@ubuntu:~$ ./check.sh
OK
OK
root@ubuntu:~$
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
更新:
#!/bin/bash
servers=("212.39.82.157" "212.39.82.157" "1.1.1.1")
for i in "${servers[@]}"; …Run Code Online (Sandbox Code Playgroud)