测试ip能ping通,但是只有一个loop就结束了。
Test ip is able to ping, but only one loop it ended.
如果我想输入一个ip来ping,如果能ping通,我想输入一个不同的ip。我要如何更改脚本?
看我的脚本,如果我输入ip 192.168.0.1能ping通,我想输入一个不同的ip。我要如何添加。
echo "==============Ping IP=============="
echo -n "Please enter ip to ping 192.168.0."
read ipaddress
Addip=192.168.0.$bmcipaddress
echo "================================"
echo "IP Add: $Addip"
ping -c 1 $Addip >"pinglog"
ping_ok=`cat "pinglog"| grep Unreachable`
echo "======="
if [ "$ping_ok" == "" ]; then
echo $bmcip "==>ping PASS"
else
echo $bmcip "==>ping BMC FAIL"
fi
试试这个。
while read -p "Please enter ip to ping 192.168.0." ipaddress; do
bmcip="192.168.0.$ipaddress"
if ping -c 1 "$bmcip" >/dev/null; then
status="PASS"
else
status"FAIL"
fi
echo "$bmcip ==>ping $status"
done
read
命令将在文件末尾失败,因此您可以使用 ctrl-D(当然还有 ctrl-C)轻松终止脚本。您可以轻松地扩展它以在空输入时也退出。
ping
的退出状态表明它是否成功,因此这比 "Unreachable" 捕获了更多的错误场景。一般来说,shell 工具 return 一个退出状态正是为了使用这种条件结构来查看命令是否成功,如果可以的话,你应该避免硬编码输出字符串(他们可以本地化,版本之间的更改等)。
如果你想进一步减少它,你可以把它压缩到
while read -p "Please enter ip to ping 192.168.0." ipaddress; do
Addip="192.168.0.$ipaddress"
echo -n "$bmcip ==>ping "
ping -c 1 "$Addip" >/dev/null && echo "PASS" || echo "FAIL"
done
由于您没有将日志文件用于脚本之外的任何内容,我认为这是一个不必要的临时文件,我们最好不要创建它。如果您需要它进行诊断,也许您不应该覆盖它。
如果我想输入一个ip来ping,如果能ping通,我想输入一个不同的ip。我要如何更改脚本? 看我的脚本,如果我输入ip 192.168.0.1能ping通,我想输入一个不同的ip。我要如何添加。
echo "==============Ping IP=============="
echo -n "Please enter ip to ping 192.168.0."
read ipaddress
Addip=192.168.0.$bmcipaddress
echo "================================"
echo "IP Add: $Addip"
ping -c 1 $Addip >"pinglog"
ping_ok=`cat "pinglog"| grep Unreachable`
echo "======="
if [ "$ping_ok" == "" ]; then
echo $bmcip "==>ping PASS"
else
echo $bmcip "==>ping BMC FAIL"
fi
试试这个。
while read -p "Please enter ip to ping 192.168.0." ipaddress; do
bmcip="192.168.0.$ipaddress"
if ping -c 1 "$bmcip" >/dev/null; then
status="PASS"
else
status"FAIL"
fi
echo "$bmcip ==>ping $status"
done
read
命令将在文件末尾失败,因此您可以使用 ctrl-D(当然还有 ctrl-C)轻松终止脚本。您可以轻松地扩展它以在空输入时也退出。
ping
的退出状态表明它是否成功,因此这比 "Unreachable" 捕获了更多的错误场景。一般来说,shell 工具 return 一个退出状态正是为了使用这种条件结构来查看命令是否成功,如果可以的话,你应该避免硬编码输出字符串(他们可以本地化,版本之间的更改等)。
如果你想进一步减少它,你可以把它压缩到
while read -p "Please enter ip to ping 192.168.0." ipaddress; do
Addip="192.168.0.$ipaddress"
echo -n "$bmcip ==>ping "
ping -c 1 "$Addip" >/dev/null && echo "PASS" || echo "FAIL"
done
由于您没有将日志文件用于脚本之外的任何内容,我认为这是一个不必要的临时文件,我们最好不要创建它。如果您需要它进行诊断,也许您不应该覆盖它。