내 질문은 간단해요
wpa_supplicant
쉘 스크립트를 통해 연결되어 있는지 확인하기 위해 인터넷에 연결될 때 명령의 반환 값을 얻고 싶습니다.
답변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) 바로 뒤에 이루어져야 합니다. 그렇지 않으면 다른 명령의 결과를 확인하게 됩니다.