De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Cláudio Lopes
Data de Publicação: 28 de Agosto de 2003
A instrucao Select no Korn Shell cria um menu. A forma de utilização do comando é semelhante ao comando For. O legal é que o Korn Shell automaticamente já enumera as opções fornecidas ao comando para que seja gerado o menu.
Após mostrar a lista de escolhas do menu, o shell mostra um prompt e espera por uma entrada do usuário. Este prompt é gerado baseado no valor da variável de ambiente PS3. O usuário deve digitar o valor da opção desejada, a qual é adicionada pelo comando. Caso o usuário não forneça uma opção válida, o prompt é novamente mostrado. Isto se deve ao armazenamento do input do usuário em uma variável de ambiente chamada REPLY.
Você pode também utilizar o loop select em conjunto com o loop case, o que faz com que uma opção possa definir um conjunto de ações.
Para finalizar o Loop, deve-se enviar um sinal à ele através da sequência CTRL+D. Outra forma, é a criação de uma opção "exit" a qual contém a instrução Break, que finaliza um loop.
A seguir demonstrarei um exemplo completo da utilização deste loop.
#!/bin/ksh PS3=Qual a sua escolha: Select fruta in banana maca pera sair do case $fruta in banana) echo Sua escolha foi a banana ! ;; maca) echo Sua escolha foi a maca ! ;; pera) echo Sua escolha foi a pera ! ;; sair) break ;; *) echo Digite um valor entre 1-4. ;; esac done
A execução deste script resultará em:
$./menu1.ksh 1)banana 2)maca 3)pera 4)sair Qual a sua escolha:
Qualquer dúvida ou sugestão, podem enviar e-mail para <claudioplopes (a) uol com br>.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários