Se lan está conectado?

0

Eu quero escrever um script e colocá-lo em /etc/rc.local para que

se lan estiver conectado, então

rfkill block all

else

nmcli con up id 'Network id' --nowait

Como devo escrever a parte if e como devo verificar se "lan está conectada"?

    
por runnerup 25.02.2011 / 02:00

1 resposta

0

Se a LAN estiver ativa, você terá uma rota padrão; Caso contrário, você não deveria. Então, em vez de verificar interfaces específicas, basta verificar uma rota padrão.

Eu não tenho uma caixa Linux para testar, então não posso dizer o que o ip (8) te dá, mas a rota (8) tem códigos de saída de erro bastante pobres quando não há rotas, então eu apenas confie no código de saída do grep - se houver uma interface: line, então você tem uma LAN.

function have_lan() {
  route -n get  default | fgrep -q interface:
}
    
por 25.02.2011 / 02:12