指定されたデバイスを除くすべてのインターネットデバイスを停止するにはどうすればよいですか?

指定されたデバイスを除くすべてのインターネットデバイスを停止するにはどうすればよいですか?

指定されたデバイスを除く他のすべてのデバイスを停止する方法を探しています。

これは、ifconfig 出力を grep して、指定されたデバイス名を除くすべてのデバイス名を取得し、それらの名前をコマンドの入力として使用するようなものになると思います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!

関連情報