如何關閉除指定設備之外的所有網路設備?

如何關閉除指定設備之外的所有網路設備?

我正在尋找一種方法來關閉除給定設備之外的所有其他設備。

我認為這將類似於 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!

相關內容