如何运行脚本,取决于互联网连接

jmi*_*ite 53 networking sshfs

我经常使用 sshfs 挂载远程驱动器。我很想自动拥有这个坐骑。但是,如果我在我的 .bashrc 或启动脚本中挂载它,挂载经常失败,因为我的无线互联网连接还没有建立。

有人知道每次建立连接时执行 bash 脚本或自动挂载 sshfs 驱动器的简单方法吗?

ded*_*max 64

将您的脚本添加到/etc/network/if-up.d/. 为您的脚本命名不带“.sh”扩展名。

同样在添加脚本后运行chmod +x /etc/network/if-up.d/yourscriptname以授予必要的权限。

确保文件中提到了在打开时应触发脚本的网络接口(例如 wlan0 或 eth0)/etc/network/interfaces

  • 在`/etc/network/*.d/` 中的脚本中,您可以使用变量`$IFACE` 来了解哪个接口正在获得连接,例如,如果它是有线连接,则可以跳过该过程。 (13认同)
  • 这实际上似乎根本不起作用。我知道我的脚本可以工作,因为我可以在终端中使用 ./ 运行它们并且它们可以工作,但是当我关闭和打开连接时,根本不会调用脚本。有什么我必须做的事情才能以某种方式引用它们吗?在 if-up.d 中删除脚本似乎缺少步骤?!?! (3认同)
  • 当它不存在时,请添加究竟应该进入`interfaces`的内容。是“auto wlan0”和“iface wlan0 inet dhcp”还是其他? (3认同)
  • 有关 Ubuntu wiki 的更多信息:https://wiki.ubuntu.com/OnNetworkConnectionRunScript (2认同)

ign*_*ite 25

编者注:Cuttlefish 自 2012 年以来一直没有更新,并且不在任何当前的 Ubuntu 存储库中

Ubuntu 12.04

  • 安装Cuttlefish : 一个简单的工具,它通过在触发特定事件时执行操作来实现在您的计算机上的反应。
  • 打开墨鱼并单击New

    第1步

    • 给它起个名字,然后将“由刺激激活”选项更改为“开”。
    • 单击Stimulus,选择类别Network并键入Connect to WLAN。单击确定。

    第2步

    • 您还可以选择无线网络的 SSID,您可以选择是否在启动时进行检查。

    第 3 步

    • 现在您必须指定一个反应。转到反应选项卡,然后单击添加。从类别中选择应用程序并从类型中选择启动应用程序(在高级模式下)

    第四步

    • 现在指定要在可执行选项中运行的脚本。您甚至可以将参数传递给脚本。

    步骤 5

    • 就是这样!还要确保在启动应用程序中添加 Cuttlefish。转到“编辑”>“首选项”并启用自动启动选项。

    步骤 6

  • 墨鱼完全坏了,有一段时间没有看到更新了。我希望它能得到更多的发展,因为我们需要像 Android 的用于 Linux 的 Tasker 应用程序。没有人想弄乱 etc/network/interfaces 和 if-up 文件夹和脚本。给我一些我可以点击或打开和关闭的东西。 (6认同)