Como ver a interface atual / velocidade do wifi

0

Eu posso ver a velocidade de download e upload para todas as interfaces usando glances . Na seção network , podemos ver as colunas Rx/s e Tx/s nas quais posso ver o valor em Mbps .

No entanto, quero armazenar esse valor em uma variável. Existe algum outro comando que forneça a velocidade atual ( bps ou Kbps ou Mbps ) para que eu possa salvar esse valor em uma variável em um script bash?

Eu quero fazer isso pela interface wlan0 .

    
por sps 06.01.2016 / 00:45

1 resposta

1

Não há um único comando para fazer isso. No entanto, você poderia usar isso:

eval $( \
    iwconfig wlan0 | \
    egrep -o 'Bit Rate=[0-9]+ [^ ]+' | \
    sed -e 's/ /_/;s/=/="/;s/$/"/' \
    )
echo $Bit_Rate

No meu sistema, atualmente, recebo:

$ eval $(iwconfig wlan0 | egrep -o 'Bit Rate=[0-9]+ [^ ]+' | sed -e 's/ /_/;s/=/="/;s/$/"/')
$ echo $Bit_Rate
54 Mb/s

iwconfig wlan0 apresenta um monte de informações sobre wlan0 (experimente e veja).

Em seguida, egrep corresponde a "Bit Rate=" , seguido por 1 ou mais dígitos, um espaço em branco e 1 ou mais espaços em branco. Por causa da opção -o , egrep produz apenas a string correspondente.

sed , em seguida, altera o primeiro espaço em branco para um sublinhado, o '=' para '="' e o fim de linha para '"' , produzindo uma sequência como Bit_Rate="54 Mb/s" .

eval interpreta essa cadeia no seu shell atual.

para mais educação, leia

for i in iwconfig egrep sed bash ; do  
    man $i
done
    
por waltinator 06.01.2016 / 05:06