インターネットに接続したら、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実行されていませんが。私のユーザーはスクリプトの所有者です(Ubuntu 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によって管理されている場合は機能しません。

関連情報