Comandos Linux

Comando Bash Select

Comando Bash Select
'Selecione'é um comando bash muito útil para a criação do menu bash. Diferentes tipos de tarefas de geração de menu, criação de lista de diretivos baseada em menu, criação de menu a partir de conteúdo de arquivo, etc. pode ser feito usando o comando bash select. Como você pode implementar esses tipos de tarefas usando o comando bash select são mostrados neste tutorial.

Sintaxe:

selecione v em data_list
Faz
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.sh

A 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 / bash
echo "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.

$ bash select2.sh

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 / bash
enquanto 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.sh

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

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

Como reverter a direção de rolagem do Mouse e Touchpads no Windows 10
Mouse e Touchpads não apenas torna a computação mais fácil, mas mais eficiente e menos demorada. Não podemos imaginar uma vida sem esses dispositivos,...
Como alterar o ponteiro do mouse e tamanho do cursor, cor e esquema no Windows 10
O ponteiro do mouse e o cursor no Windows 10 são aspectos muito importantes do sistema operacional. Isso também pode ser dito para outros sistemas ope...
Mecanismos de jogos gratuitos e de código aberto para o desenvolvimento de jogos Linux
Este artigo cobrirá uma lista de mecanismos de jogo gratuitos e de código aberto que podem ser usados ​​para desenvolver jogos 2D e 3D no Linux. Exist...