有没有办法仅在 wlan0 连接时在启动后启动 bash 脚本

有没有办法仅在 wlan0 连接时在启动后启动 bash 脚本

我想在启动后在 ubuntu 中启动一个 bash 脚本。但是该脚本应该在 wlan0 设备连接到我的 wifi 后首先运行。

我怎样才能实现这个?

答案1

在 Ubuntu 中,您可以使用 upstart 来实现此目的。将以下内容保存为/etc/init/你的脚本.conf

start on net-device-up wlan0

exec  your_script

答案2

我会在启动时启动它,并让它等待,直到 wlan0 连接。您可以通过以下方式检查

#!/bin/bash

while true; do
    # testing...
    LC_ALL=C nmcli -t -f DEVICE,STATE dev | grep -q "^wlan0:connected$"
    if [ $? -eq 0 ]; then
        break
    else
        # not connected, sleeping for a second
        sleep 1
    fi
done

# now connected, run the script

相关内容