指定されたデバイスを除く他のすべてのデバイスを停止する方法を探しています。
これは、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!
。