você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

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>.



Veja a relação completa dos artigos de Cláudio Lopes