使用以下代码,我会继续: 第9行:[:8.8.8.8:预期的整数表达式 不确定为什么?
#!/bin/bash
sourceFile="file.log"
targetFile="2file.log"
ping="8.8.8.8"
while IFS='' read -r line || [[ -n "$line" ]]; do
echo "$line" >> "$targetFile"
sudo service networking restart
ping -q -c 5 "$ping"
if [ "$ping" -ne 0 ]; then
sed -n -e 8p "$2file.log"
fi
done < "$sourceFile"
答案 0 :(得分:0)
因为你试图比较&#34; 8.8.8.8&#34; (字符串)为0(整数)
ping="8.8.8.8"
if [ "$ping" -ne 0 ]; then
ping变量是字符串。
答案 1 :(得分:0)
您正在将字符串值("8.8.8.8"
)与整数值(0
)进行比较
您可以使用ping
$?
命令的退出代码
ping="8.8.8.8"
ping -q -c 5 "$ping"
ping=$?
if [ $ping -ne 0 ]; then
echo "NOTOK"
else
echo "OK"
fi