인터넷에 연결되면 Python 스크립트를 실행합니다.

인터넷에 연결되면 Python 스크립트를 실행합니다.

hello.py간단한 Python 스크립트 와 파일이 있습니다 hello.sh.

#!/bin/bash
python -c "from hello import hello; hello()"

( hello.pyPYTHONPATH에 위치)

실행 가능하게 만들고 if-up.d디렉토리에 배치하십시오. 해당 디렉토리로 가서 실행하면 ./hello.sh정상적으로 작동합니다. 그러나 연결을 끊었다가 다시 연결해도 스크립트가 트리거되지 않습니다.

스크립트가 아직 echo "hello">>out.txt실행되지 않았지만. 내 사용자는 스크립트의 소유자입니다(우분투 20.04 실행).

어떤 아이디어가 있나요?

답변1

아래 코드를 사용하여 올바른 인터페이스 이름을 설정할 수 있습니다.

 #!/bin/sh 
    if [ "$IFACE" = <interface-name> ]; then 
        python <path_to_your_script>.py
    fi

잊지 말고 꼭 하세요실행 가능 파일:

sudo chmod +x <path_to_your_script>.sh 

또한 인터페이스가 NetworkManager에 의해 관리되는 경우에는 작동하지 않습니다.

관련 정보