/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 /下的其他文件的回显,但没有任何结果。我究竟做错了什么?

+0

什么用户运行该程序?它是根吗?文件'/ out.txt'存在吗? –

+0

〜/ out.txt存在。我不知道谁在运行(os?),但是对任何用户都开启了执行权限。 – user2908112

+0

但是'〜root/out.txt'也存在吗?如果你想在特定位置输出文件,那么使用绝对路径而不是'〜' –

假设你希望在接口就被运行脚本,下面的步骤将帮助:

  1. 名称与“.SH”文件扩展名

  2. 检查执行权限的脚本,chmod +x /etc/network/if-up.d/yourscriptname

  3. 将此行复制到您要监控的接口配置文件post-up /etc/network/if-up.d/yourscriptname。在你的情况下,配置文件应该在/etc/network/interfaces之下。

但是,如果你要监控的网络连接(即如果任何终端到终端的连接被监听或建立),可能是检查与netstatlsof使用脚本将帮助连接。