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.
O Loop Select do Korn Shell
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>.