當網路介面啟動時執行腳本

當網路介面啟動時執行腳本

我有這段 bash 腳本:

內部=$(/sbin/ifconfig $adapter | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}')

$adapter="eth0" 我想執行此操作,直到內部具有正確的值,然後我想轉到腳本的其餘部分您知道我如何處理這個問題嗎?

之後我對其進行編碼以便通過短信發送IP!

先感謝您。

答案1

嘗試這樣做:

#!/bin/bash

PATH+=/sbin
adapter=eth0
internal=""

until [[ $internal =~ [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} ]]; do
    sleep 1
    internal=$(
        ifconfig "$adapter" |
        awk -F'(inet add?r:| +|:)' '/inet add?r/{print $3}'
    )
done

# send sms

正如你所看到的,我只使用一根管道|,無需更多,awk即可完成整個加工。

相關內容