Mude o script para usar whiptail ao invés de zenity

3

Estou tendo dificuldade em converter algum script baseado em zenity para usar o whiptail.

O script de trabalho é parecido com isto:

#!/bin/bash
xfreerdp /v:farm.company.com \
/d:company.com \
/u:$(zenity \
--entry \
--title="Username" \
--text="Enter your Username")

Estou tentando converter isso em whiptail, mas continuo recebendo uma tela em branco.

Isso é o que eu tenho até agora:

#!/bin/bash
xfreerdp /v:farm.company.com \
/d:company.com \
/u:$(whiptail \
--inputbox "Username" 10 30)

O que estou fazendo de errado?

    
por oshirowanen 29.03.2014 / 19:53

1 resposta

3

O motivo pelo qual você não vê a caixa de entrada é porque whiptail grava a exibição em stdout, que você está capturando. O resultado da entrada é gravado em stderr, que você não está capturando. Para que isso funcione, você precisa da substituição de comando para capturar stderr , mas não stdout . Você pode fazer isso com o redirecionamento:

#!/bin/bash
xfreerdp /v:farm.company.com \
/d:company.com \
/u:$(whiptail \
--inputbox "Username" 10 30 3>&1 1>&2 2>&3)
    
por 29.03.2014 / 20:33