Incrementando seus scripts com dialog
Esse artigo nos introduz ao fantástico mundo do dialog, um software usado para incrementar seus shell scripts com caixas de diálogo bem amigáveis, muito mais agradáveis que as famosas telas pretas do terminal. Aprenderemos a criar caixas de informação, texto, confirmação, input. Enfim, leia e comprove.
Parte 5: InputBox
Uma outra forma de receber dados do usuário é usando o InputBox. A sintaxe é:
dialog [opções] --inputbox 'abc' 0 0 [inicial]
Tente digitar no console:
$ dialog --inputbox 'Digite seu nome:' -1 -1 'Aqui'
Para conseguir o texto digitado é só redirecionar STDERR, que se dá pelo operador de redirecionamento 2>. Veja como:
$ dialog --inputbox 'Digite seu nome:' -1 -1 'Aqui' 2> /home/iuri/nomiducara
Após digitar alguma coisa, consulte o arquivo /home/iuri/nomiducara e verá exatamente o que você digitou.
Para passar este valor para uma variável, você pode fazer:
MinhaVar=`cat /file`
OU
MinhaVar=$(cat /file)
Vamos ver um shell script bem simples: Uma calculadora de soma:
dialog [opções] --inputbox 'abc' 0 0 [inicial]
Tente digitar no console:
$ dialog --inputbox 'Digite seu nome:' -1 -1 'Aqui'
Para conseguir o texto digitado é só redirecionar STDERR, que se dá pelo operador de redirecionamento 2>. Veja como:
$ dialog --inputbox 'Digite seu nome:' -1 -1 'Aqui' 2> /home/iuri/nomiducara
Após digitar alguma coisa, consulte o arquivo /home/iuri/nomiducara e verá exatamente o que você digitou.
Para passar este valor para uma variável, você pode fazer:
MinhaVar=`cat /file`
OU
MinhaVar=$(cat /file)
Vamos ver um shell script bem simples: Uma calculadora de soma:
#!/bin/sh
# INICIO
dialog --backtitle Calculadora --inputbox 'Digite o primeiro valor:' -1 -1 '0' 2> /tmp/1
dialog --backtitle Calculadora --inputbox 'Digite o segundo valor:' -1 -1 '0' 2> /tmp/2
Valor1=$(cat /tmp/1)
Valor2=$(cat /tmp/2)
Res=$(expr $Valor1 + $Valor2)
dialog --backtitle Calculadora --infobox "O resultado é: $Res" -1 -1
# FIM
# INICIO
dialog --backtitle Calculadora --inputbox 'Digite o primeiro valor:' -1 -1 '0' 2> /tmp/1
dialog --backtitle Calculadora --inputbox 'Digite o segundo valor:' -1 -1 '0' 2> /tmp/2
Valor1=$(cat /tmp/1)
Valor2=$(cat /tmp/2)
Res=$(expr $Valor1 + $Valor2)
dialog --backtitle Calculadora --infobox "O resultado é: $Res" -1 -1
# FIM
fico massa o artigo