Sintaxe:
selecione v em data_listFaz
declaração 1
Declaração 2
Declaração 3
feito
Aqui, o item de menu será criado a partir de data_list que pode ser uma matriz ou outra fonte de dados. Cada item de menu recupera de data_list e armazena em uma variável para criar o menu. O comando 'Selecionar' pode ser usado com o comando 'caso' também para criar o menu. Diferentes tipos de tarefas de criação de menu são mostrados aqui usando exemplos muito simples.
Exemplo-1: Criação de um menu simples
Crie um arquivo bash chamado select1.sh com o seguinte script bash. Aqui, 'selecionar' o comando irá recuperar cada dado da lista e imprimir os dados como um menu. O script a seguir contém os nomes das marcas de telefones celulares e após a execução do script irá criar um menu de marcas de celulares e pedir ao usuário para escolher qualquer marca. Irá imprimir o nome da marca selecionada. O usuário deve pressionar Ctrl + C terminar do script.
#!/ bin / bash# Defina a lista do menu aqui
Selecione a marca na sinfonia Walton para iPhone Samsung Sony
Faz
echo "Você escolheu $ brand"
feito
Resultado:
Execute o script.
$ bash select1.shA seguinte saída aparecerá depois de executar o script e selecionar o item de menu número 1 e 4.
Exemplo-2: Selecione o comando com uma declaração de caso
Como você pode criar um menu bash com a instrução case é mostrado neste exemplo. Crie um arquivo bash chamado select2.sh com o seguinte script bash. Depois de executar o script, o usuário selecionará qualquer item de menu e a instrução de caso irá corresponder ao valor selecionado com o valor de caso. Aqui, vários valores de caso são usados para correspondência com o item de menu selecionado. Se nenhum dos valores de caso corresponder ao item de menu selecionado, "Entrada inválida" será impressa.
#!/ bin / bashecho "Qual sistema operacional você gosta?"
# Os nomes do sistema operacional são usados aqui como uma fonte de dados
selecione o sistema operacional no Ubuntu LinuxMint Windows8 Windows7 WindowsXP
Faz
caso $ os em
# Dois valores de caso são declarados aqui para correspondência
"Ubuntu" | "LinuxMint")
echo "Eu também uso $ os."
;;
# Três valores de caso são declarados aqui para correspondência
"Windows8" | "Windows10" | "WindowsXP")
echo "Por que você não experimenta o Linux?"
;;
# Correspondência com dados inválidos
*)
echo "Entrada inválida."
pausa
;;
esac
feito
Resultado:
Execute o script.
A saída diferente aparecerá para uma seleção diferente. Aqui, 1 é selecionado pela primeira vez que é o Ubuntu. combinou com o valor do primeiro caso imprimir a mensagem “Eu também uso Ubuntu”. 4 é selecionado na próxima vez e o item de menu é Windows 7 mas não há nenhum valor de caso com este nome. Então, desta vez imprimiu "Entrada inválida" e terminar do script.
Exemplo 3: Criando menu bash aninhado
Quando qualquer menu é criado no menu do outro, ele é chamado de menu aninhado. O menu aninhado pode ser criado na base usando duas ou mais instruções select e case. Crie um arquivo bash chamado select3.sh com o seguinte script bash. Aqui, duas instruções select e case são usadas para implementar o menu aninhado. O menu principal contém 4 itens e o submenu contém 3 itens aqui.
#!/ bin / bashenquanto verdadeiro
Faz
# Itens do menu pai declarados aqui
selecione o item no HD do monitor de impressora de mouse
Faz
# declaração de caso para comparar os primeiros itens do menu
caso $ item em
Mouse)
echo "Qual tipo de monitor você gosta?"
;;
Impressora)
# Itens de submenu aqui declarados aqui
selecione o sub_item no Samsung HP Dell
Faz
# declaração de case para itens do menu solar
case $ sub_item em
Samsung)
echo "O preço da impressora Samsung é $ 100"
pausa
;;
HP)
echo "Nova impressora HP 880 com preço de US $ 450"
# retornar ao menu dos pais
pausa
;;
Dell)
echo "Nenhuma impressora Dell está disponível agora"
# retornar ao menu principal
pausa 2
;;
esac
feito
pausa
;;
Monitor)
echo "Compre nosso novo monitor Samsung a baixo custo"
break # retornar ao menu atual (principal)
;;
HDD)
echo "HDD de boa qualidade estão disponíveis em estoque"
# retorno do script
pausa 2
esac
feito
feito
Resultado:
Execute o script.
$ bash select3.shDepois de executar o script, o menu pai com 4 itens exibidos. Aqui, apenas o segundo item de menu do menu principal contém o submenu. Depois de selecionar 2, o submenu apareceu e quando o usuário selecionou 3, ele exibiu a mensagem correspondente do item de menu 3 e voltou ao menu principal.
Exemplo 4: Crie um menu bash com uma matriz
Uma variável de matriz pode armazenar vários dados. Então, você pode usar uma matriz como uma lista de dados para criar um menu base. Como você pode usar um array com uma instrução select para criar um menu é mostrado neste exemplo. Crie um arquivo bash chamado select4.sh com o seguinte script bash. A sub-rotina Bash é usada neste script para criar um menu a partir do array. Uma matriz com três elementos é usada e menu_from_array () é chamado para criar o menu. O script irá verificar se o número do item de menu selecionado está entre 1-3 ou não. Se o número não estiver dentro deste intervalo, ele instruirá o usuário a selecioná-lo dentro deste intervalo, ele irá imprimir o item de menu de seleção com outro texto.
menu_from_array ()Selecionar item; Faz
# Verifique o número do item de menu selecionado
if [1 -le "$ REPLY"] && ["$ REPLY" -le $ #];
então
echo "O sistema operacional selecionado é $ item"
pausa;
senão
echo "Seleção errada: Selecione qualquer número de 1 - $ #"
fi
feito
# Declare a matriz
linux = ('Ubuntu' 'Linux Mint' 'CentOS')
# Chame a sub-rotina para criar o menu
menu_from_array "$ linux [@]"
Resultado:
Execute o script.
$ bash select4.shAqui, 2 é selecionado primeiro que está dentro do intervalo e imprime o texto. 6 é selecionado pela segunda vez que está fora do intervalo e sugere que o usuário selecione um número dentro do intervalo.
Conclusão
A tarefa de criação do menu Bash usando uma instrução select é explicada neste tutorial da forma mais simples possível. Espero que o programador interessado em trabalhar no menu bash e aprender a instrução bash select obterá ajuda neste tutorial. Obrigada.