Mais uma vez, muito obrigado a todos e uma agradecimento especial ao Mop e ao Julio pelas valiosas informações, o seu exemplo Julio é o que está mais próximo do que preciso, mais perdoe minha ignorância, não consegui compreender o momento no qual é feita a detecção da tecla que foi pressionada/digitada, quando é feita a verificação de ser ou não uma das teclas que estão sendo esperadas e também não consegui entender como foi feita a restrição as teclas restantes do teclado.
Desculpe a ignorância, ainda sou iniciante na linguagem Shell. Muito obrigado a todos. Thiago Santana Em 26/02/08, Julio C. Neves <[EMAIL PROTECTED]> escreveu: > > Fala Thiago, > faça um loop com read -sn1 e verifique se o valor que foi digitado > pertence > ao conjunto que vc deseja. É chato mas da pra fazer. Veja um pequeno > exemplo > de como proceder: > > while read -sn1 a > do > y= > x=$(echo "$a" | cat -vet) > [[ "$x" == "^[$"* ]] && read -n2 y > case $y in > [A) echo cima;; > [B) echo baixo;; > [C) echo direita;; > [D) echo esquerda;; > esac > done > > Este loopizinho só aceita as setas e ignora qq outra tecla. > > Abraços, > Julio > > Em 26/02/08, Thiago Braga Santana <[EMAIL > PROTECTED]<thiago.braga.santana%40gmail.com>> > escreveu: > > > > > Agradeço a todos pelas respostas rapidas e produtivas, com relação ao > > dialog, consultei o CentOS, Red Hat EL5 e Fedora 6, nenhuma destas > vieram > > com o dialog instalado por padrão. > > > > Utilizando o tput já tenho conseguido o seguinte: Uma tela limpa como > > fundo > > totalmente azul, um titulo (que no meu caso esta sendo "Instalador de > > programas") alinhado ao centro da tela (independente da resolução da > > console) e sublinhado, logo abaixo criei um box alinhado ao centro (para > > as > > cordenadas X e Y) na cor cinza, assim como existe no programa setup da > Red > > Hat, para abrigar as minhas 3 opções, dentro dele as três opções (uma em > > cada linha) com cor de fonte preta. > > > > Até ai tudo certo, já tenho o layout da pagina e sei posicionar o cursor > > em > > cada uma das opções, o meu problema é que não tenho a menor ideia de > como > > restringir o usuário para apenas três teclas: seta pra cima, seta pra > > baixo > > e Enter. Outro problema é saber quando houve o evento "pressiona tecla", > > pois até onde sei o Shell não é orientado a eventos. > > > > Resumindo, eu preparo todo o layout da página e inicio o programa com o > > cursor na primeira opção, em uma variavel eu sei como guardar cada uma > das > > 3 > > posições posiveis, o problema é que não tenho a menor ideia de como > > programar a "navegação" do programa pelas 3 teclas (sendo o Enter > > responsavel apenas por "entrar" na opção selecionada pela posição do > > cursor). Já vi alguns menus coloridos feitos em Shell, porém em todos os > > que > > vi o programa recebe a opção desejada pelo usuário atraves de uma > variavel > > com valor atribuido atraves do comando "read". > > > > Alguem pode me dar mais alguma ideia? > > > > Desde já agradeço a todos pela atenção. > > > > Thiago Santana > > > > Em 25/02/08, Ivan lopes <[EMAIL PROTECTED]<lopesivan.del%40gmail.com> > <lopesivan.del%40gmail.com>> > > escreveu: > > > > > > cara, o aurelio.net na apostila dele de shell, ele mostra como fazer > > > exatamente isso que vc falou. > > > manda um mail pro aurelio pedindo a apostila de shell pdf, se nao me > > > engano tah 20 reais. > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > -- > Abraços, > Julio > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]
