지정된 장치를 제외한 모든 인터넷 장치를 종료하는 방법은 무엇입니까?

지정된 장치를 제외한 모든 인터넷 장치를 종료하는 방법은 무엇입니까?

주어진 장치를 제외한 다른 모든 장치를 종료하는 방법을 찾고 있습니다.

ifconfig 출력을 greping하여 지정된 장치 이름을 제외한 모든 장치 이름을 가져온 다음 해당 이름을 명령에 대한 입력으로 사용하는 방식일 것이라고 생각합니다 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!.

관련 정보