首页 > 解决方案 > 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:不正确的操作参数”以及如何解决它?

非常感谢。

标签: bashshellnetworkingnetwork-interface

解决方案


包似乎已过时 - 使用了另一个包并制作了一个 cron


推荐阅读