Como derrubar todos os dispositivos de Internet, exceto o especificado?

Como derrubar todos os dispositivos de Internet, exceto o especificado?

Estou procurando uma maneira de desativar todos os outros dispositivos, exceto o fornecido.

Eu acho que seria algo como usar o grep na saída ifconfig para extrair todos os nomes de dispositivos, exceto o especificado, e então usar esses nomes como entrada para um ifconfig $DEV downcomando.

Responder1

O ifconfigestá obsoleto, use ipem seu lugar.

Você pode usar este script simples:

#!/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

É chamado como:

./script.sh <device>

Por exemplo com eth0:

./script.sh eth0

Se chamado sem parâmetro, reporta Device parameter missing!.

informação relacionada