특정 장치를 제외한 모든 인터넷 장치를 끄는 방법은 무엇입니까?

특정 장치를 제외한 모든 인터넷 장치를 끄는 방법은 무엇입니까?

특정 장치를 제외한 다른 모든 장치를 끄는 방법을 찾고 있습니다.

나는 이것이 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!.

관련 정보