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

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


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