Como identifico o formato de saída do comando “sudo…”?

0

Estou anexando a saída bash -x, que mostra que o comando "sudo iwlist wlan0 scan" foi executado e retornou o texto esperado para o terminal. A questão é - este texto não foi passado para whiptail opção msgbox.

Isto falha com outros comandos "sudo ..." e apenas com comandos "sudo ..". Meu palpite é que existem caracteres não imprimíveis no texto de saída causando esse problema.

sudo iwlist wlan0 scan
wlan0     Interface doesn't support scanning : Network is down

whiptail --title 'Command sudo iwlist wlan0 scan output 1400'       -   -separate-output --scrolltext --msgbox '' 17 80 10
    
por Jan Hus 11.09.2018 / 00:10

1 resposta

0


Sempre que você não tiver certeza, tente redirecionar o stdout, em seguida, stderr para / dev / null.
Por exemplo, com lsusb -h > /dev/null você ainda pode ver a saída, enquanto que com lsusb -h 2> /dev/null não há saída - portanto, a saída da ajuda vai para stderr.
Se você quiser redirecionar stderr para stdout:
lsusb -h 2>&1
Não é óbvio (no início), mas o que este comando faz é redirecionar o stderr (descritor de arquivo # 2) para stdout (descritor de arquivo # 1).

    
por 11.09.2018 / 00:23