DNSを変更するには、pingテストを実行してください。

DNSを変更するには、pingテストを実行してください。

私のDNSサーバーが正しく機能していることを確認し、そうでない場合は変更するためにこのスクリプトを作成しました。しかし、エラーが発生します。./dns-ping.sh: line 15: ((: 3 < : syntax error: operand expected (error token is "< ")

何が問題なの?

#! /bin/bash

loss_count=0
echo "--------------------------------------------------------------"
echo "++ DNS Ping Tester ++"
echo "--------------------------------------------------------------"
echo "please enter threshold:"
read $threshold
for timer in {1..2}
    do
        png=`ping -c 5 -q yahoo.com | grep -oP '\d+(?=% packet loss)'`
        let loss_count=$png+$loss_count
done
let loss_mid=loss_count/12
if (($loss_mid < $threshold)); then
#   ifdown eth0
    echo "less"
else
    echo "nameserver 8.8.8.8" > /etc/resolv.conf
fi

答え1

次の行を置き換える必要があります。

if (($loss_mid < $threshold)); then

これにより:

if [ "$loss_mid" -lt "$threshold" ]; then

関連情報