![添加到 /etc/network/if-up.d 后 python 脚本会运行吗?](https://linux22.com/image/821500/%E6%B7%BB%E5%8A%A0%E5%88%B0%20%2Fetc%2Fnetwork%2Fif-up.d%20%E5%90%8E%20python%20%E8%84%9A%E6%9C%AC%E4%BC%9A%E8%BF%90%E8%A1%8C%E5%90%97%EF%BC%9F.png)
要将我的系统连接到互联网,我必须通过 ISP 的网页手动登录。这不是很方便。我在网上找到了一个可以自动执行此操作的 Python 脚本。它需要登录名/密码并模拟我必须手动执行的操作。它工作正常。我每次都打开一个终端并运行该脚本。我尝试将脚本放入其中,/etc/network/if-up.d
以便它在界面启动时自动运行。但它没有运行,也没有在通常记录的地方记录任何内容。该脚本是可执行的,并且有 sha bang#!/usr/bin/python
它不运行的可能原因是什么?我必须放入其他文件夹吗?
答案1
是的,应该。
它的文件名中有一个点吗?运行部件 (8)忽略名称中带有点的文件。
答案2
为了回答您的问题,我在 /etc/network/if-up.d/python 中创建了以下内容:
#!/usr/bin/python
f = open('/tmp/aaaaa','w')
f.write('')
f.close()
然后我执行:
chmod +x /etc/network/if-up.d/python
以使其可执行。
我仔细检查了 /tmp/aaaaa 是否还不存在。
当我关闭 wifi 并再次打开时,/tmp/aaaaa 出现了——所以它成功了。我做了同样的事情,删除了文件,然后插入以太网,结果也成功了。
也许你可以从这个开始,重现它,然后将 Python 程序更改为你想要使用的程序。还请注意 tumbleweed 关于运行部分和 hist 答案中的标点符号的有用信息。最好将文件名保持为简单的字母和数字。