/etc/network/if-up.d/中的脚本不在连接上运行
问题描述:
在Linux Mint上,我编写了一个脚本,该脚本应该在有建立的Internet连接时运行。我试图通过它只是回声测试字符串到一个文件是这样的:/etc/network/if-up.d/中的脚本不在连接上运行
#!/bin/bash
echo A > ~/out.txt
exit 0
我将文件保存为测试,并把它下/etc/network/if-up.d/。 我创建了文件〜/ out.txt并断开了所有当前的网络,然后重新连接了无线连接。但out.txt文件中没有输出?
我试图做我的真正意图的工作,但意识到它没有运行。我甚至尝试了/ etc/network/if-up.d /下的其他文件的回显,但没有任何结果。我究竟做错了什么?
答
假设你希望在接口就被运行脚本,下面的步骤将帮助:
名称与“.SH”文件扩展名
检查执行权限的脚本,
chmod +x /etc/network/if-up.d/yourscriptname
将此行复制到您要监控的接口配置文件
post-up /etc/network/if-up.d/yourscriptname
。在你的情况下,配置文件应该在/etc/network/interfaces
之下。
但是,如果你要监控的网络连接(即如果任何终端到终端的连接被监听或建立),可能是检查与netstat
或lsof
使用脚本将帮助连接。
什么用户运行该程序?它是根吗?文件'/ out.txt'存在吗? –
〜/ out.txt存在。我不知道谁在运行(os?),但是对任何用户都开启了执行权限。 – user2908112
但是'〜root/out.txt'也存在吗?如果你想在特定位置输出文件,那么使用绝对路径而不是'〜' –