如何获取wpa_supplicant的返回值?

如何获取wpa_supplicant的返回值?

我的问题很简单

wpa_supplicant我想在连接到互联网时获取命令的返回值,以了解我是否已通过 shell 脚本连接。

答案1

$?在Linux中,您可以通过在运行该命令后立即获取特殊变量的值来获取任何命令的返回值:

command
return_code=$?
echo $return_code

但对于你的情况,我建议你使用 来wpa_cli通知你是否已连接。首先,创建一个名为的脚本notify.sh

#!/bin/bash

case "$2" in
    CONNECTED)
        notify-send "WPA supplicant: CONNECTED";
        ;;
    DISCONNECTED)
        notify-send "WPA supplicant: DISCONNECTED";
        ;;
esac

使脚本可执行,然后:

wpa_cli -a notify.sh

答案2

test $?,如果为 0 则一切正常,如果不是,则前面的命令未成功结束。

所以像

wpa_suplicant.......
if (( ! $? ))
then
    #everything went OK
else
    #wpa failed.
fi

应该管用。

检查$?必须紧接在命令之后(在您的情况下为 wpa_suplicant),否则您将检查其他命令的结果。

相关内容