当网络接口启动时执行脚本

当网络接口启动时执行脚本

我有一段 bash 脚本:

内部 = $(/ sbin / ifconfig $adapter | grep“inet addr”| awk -F:'{打印 $2}'| awk'{打印 $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即可进行整体处理。

相关内容