bash - Ifplugd:错误“不正确的操作参数”
问题描述
我在 ifplugd 中有错误。每当将新的以太网电缆插入我的设备时,ifplugd 应该 ping 网关。这是脚本的样子:
ping.sh
#!/bin/bash
echo "in ifplugd" >> /tmp/ifplugd.txt
if [ "$2" == "up" ]; then
logger IfPlugD executes script
echo "Pinging 10.10.10.1 5 times"
echo "Executing State $2 ifdown ifup on :: $1 :: $(date)" >> /var/ifplugdlog.txt
ping 10.10.10.1 -c 5;
fi
可悲的是,它 $2 变量什么也没返回。我试图检查为什么它什么都不返回,所以我运行了 ifplugd.action 脚本,它会在每次状态更改时自动运行。它如下所示:
ifplugd.action
#!/bin/sh
set -e
case "$2" in
up)
run-parts --arg="$1" --arg="$2" /etc/ifplugd/action.d/
;;
down)
run-parts --reverse --arg="$1" --arg="$2" /etc/ifplugd/action.d/
*)
echo "ifplugd.action: Incorrect action argument" >&2
exit 1
;;
esac
它在/etc/default/ifplugd
-file中使用以下参数运行
如果插入
INTERFACES="enp2s0 enp3s0 enp6s0"
HOTPLUG_INTERFACES="enp2s0 enp3s0 enp6s0"
ARGS="-q -f -d10 -w -I"
SUSPEND_ACTION="stop"
当我移除网络电缆并重新连接它时,它仍然没有给我任何响应,因为我的 if 子句在我的 ping.sh 中被忽略,因为 $2 变量为空。
有人可以帮助我,为什么我会收到错误“ifplugd:不正确的操作参数”以及如何解决它?
非常感谢。
解决方案
包似乎已过时 - 使用了另一个包并制作了一个 cron
推荐阅读
- angular - 像邮递员一样在 HTTP 请求中发送 HTTP 标头
- python - redis python scan_iter 给出不同的键
- python - 在中文中通过 URL 抓取维基百科
- ionic-framework - 在 HTTP.get 中传递标头
- java - 将 notifyDataSetChanged 与 BaseAdapter 一起使用
- javascript - 这是 setTimeout 在 javascript 中的工作方式吗?
- r - 将列表中的值与数据框中的列名匹配以更新值
- rxjs - 订阅后如何重置最新组合
- .net - 从 PowerShell 使用 NuGet .NET 包真的这么麻烦吗?
- clojure - 为什么 filterv 的谓词需要没有副作用?