我正在寻找一种方法来关闭除给定设备之外的所有其他设备。
我认为这将类似于 grep ifconfig 输出,然后提取除指定设备名称之外的所有设备名称,然后使用这些名称作为命令的输入ifconfig $DEV down
。
答案1
已ifconfig
弃用,请改用ip
。
您可以使用这个简单的脚本:
#!/bin/bash
if [ -z "$1" ]
then
echo "Device parameter missing!"
exit 1
fi
devices=`ip a | grep UP | cut -d " " -f2 | tr -d ":" | grep -v "lo" | grep -v "$1"`
for dev in $devices
do
ifdown $dev
done
它被称为:
./script.sh <device>
以 eth0 为例:
./script.sh eth0
如果不带参数调用,则报告Device parameter missing!
。