INTF = $ {1}
PTH =(〜/ src /)
TMP_IP2を宣言します
TMP_IP2 = $(ip a | grep $ {INTF} | grep inet | cut -d”” -f6 | cut -d“ /” -f1> $ {PTH} current _ $ {INTF} .ip)
ip a | grep $ {INTF} | grep inet |カット-d”” -f6 |カット-d“ /” -f1 |カット-d」。」 -f1-3 | awk ‘{print $ 0″ .0 / 24″}’> $ {PTH} net _ $ {INTF} .ip
ip a | grep $ {INTF} | grep inet |カット-d”” -f6 |カット-d“ /” -f1 |カット-d」。」 -f1-3 | awk ‘{print $ 0″ .1″}’> $ {PTH} gw _ $ {INTF} .ip
TMP_IPを宣言する
TMP_IP = $(cat $ {PTH} current _ $ {INTF} .ip)
エコー「現在のWANIP $ TMP_IP」
保存して終了し、実行可能にしてからテストします。
sudo chmod a + x getip.sh
bash getip.sh eth0.2
それが適切に機能したと仮定して、先に進み、それを/ usr / local / bin /にコピーして、グローバルに実行可能にします。
sudo cp getip.sh / usr / local / bin / getip
これで、getip eth0.2と入力するだけで、IPが返されます。
2番目のスクリプトは、最初のスクリプトを実行するだけでなく、デフォルトルートを割り当てます。
私はsetip.shから来ました
#!/ bin / bash
getip $ {1}
特定のデバイスに設定された#fetchIPアドレス
PTH =(〜/ src /)
RT_IPを宣言する
RT_IP = $(cat $ {PTH} gw_ $ {1} .ip)
$ RT_IPを介したIPルート変更のデフォルト
ip route add default via $ RT_IP
echo“ ip route —デフォルトは$ RT_IP経由”
保存して終了します。デフォルトルートの変更と追加の両方があることに気付いたかもしれません。これは、ゲートウェイが間違って設定されている場合に使用します。
sudo chmod a + x setip.sh
sudo setip.sh eth0.2
ルーティングテーブルをもう一度チェックして、すべてが正常であることを再確認できます。
sudo ip route show
スクリプトをグローバルに実行可能にする場合は、スクリプトを/ usr / local / bin /にコピーできます。変更とインターフェースを行うため、sudoが必要です。
読んだ2分sudo cp setip.sh / usr / local / bin / setip