Menu em formato texto simples em BASH script feito com comando select
Hoje será feita uma explanação sobre como montar menus em BASH script usando o comando select. O comando "select" permite a criação de um menu bem rudimentar em modo texto, sem o recurso de caixas de texto, como as do aplicativo de terminal dialog, que aparecem em certos momentos na instalação e configuração de distros como Slackware e Debian. Em certos momentos já vi aparecer no processo de configuração do Debian, em linha de comando, um prompt de escolha de opção, muito semelhante ao que aparecerá logo abaixo, quando "select" é usado. Ele cria um sistema de verificação de variável, através de opções numéricas em loop com prompt, que dispensa o uso de comandos como read, while e for. Vem tudo num pacote só. A única coisa requerida dentro da estrutura "select ... do ... done" é uma outra estrutura, a de decisão, que pode ser feita pelos comandos "if ... then ... elif ... else ... fi", "case ... esac" ou até por concatenação usando o comando test e os operadores de concatenação de execução de comandos && e ||. Ao se executar este código, aparece o seguinte texto na tela: === MENU EM BASH === 1) inclusao 2) alteracao 3) exclusao 4) consulta 5) sair #? Na primeira linha há um anúncio do que se trata: um menu em BASH. Obviamente. A partir daí há a exibição das opções do menu, com itens enumerados de 1 a 5, representando um hipotético cadastro. Para ser um programa de verdade, falta a elaboração do código de gerenciamento de cadastro de dados, como o de uma agenda, por exemplo. É um sistema exemplificado que pode ser implementado no futuro, sendo feito apenas o menu por agora. A última linha representada pelos caracteres #? representa o prompt, que espera pelo número da opção. No caso um dos números de 1 a 5. Ao digitar os números de 1 a 5, a variável declarada no "select" ganha a atribuição do texto ao lado do número no menu. Este texto vai para a estrutura "case ... esac" que analisa o que fazer. Para as opções de 1 a 5 é verificado se o valor da variável i corresponde a uma das opções: inclusao, alteracao, exclusao, consulta, sair e o coringa * (otherwise ou default em outras linguagens) para qualquer outro caso. Conforme a alternativa corresponda, é emitido apenas um texto de aviso sobre a opção selecionada. Exceto pela opção 5, que emite a mensagem e sai do programa. Esta saída é feita pelo comando break, que força a retirada da estrutura "select", como é feito quando se usa for e while (lá em cima está escrito que select dispensa loop com for e while, lembram?) No caso de a opção digitada ser diferente de uma das opções de 1 a 5 é emitida a mensagem de erro, solicitando nova tentativa. Conforme explicado. usando a opção 5 a mensagem de saída é exibida e o comando break força a saída do "select". Como só há o comando exit 0, o programa é encerrado retornando o valor 0 para o sistema operacional.
Por: Perfil removido
Instalação Zabbix-agent Debian8
O script realiza a instalação do Zabbix-Agent no Debian8, necessitando apenas de interação para informa o IP do servidor Zabbix e o hostname da máquina. Caso queira alterar a configuração do zabbix_agentd.conf altere da linha 35 a 48. Por padrão utilizo o repositório do zabbix-Agent 3.0 ( http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-1+jessie_all.deb ), caso queira alterar modifique a linha 24.
Por: Augusto Ribeiro
Instalação Zabbix-agent Debian7
O script realiza a instalação do Zabbix-Agent no Debian7, necessitando apenas de interação para informa o IP do servidor Zabbix e o hostname da máquina. Caso queira alterar a configuração do zabbix_agentd.conf altere da linha 35 a 48. Por padrão utilizo o repositório do zabbix-Agent 3.0 ( http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-1+wheezy_all.deb ), caso queira alterar modifique a linha 24.
Por: Augusto Ribeiro
Instalação Zabbix-agent CentOS5
O script realiza a instalação do Zabbix-Agent no CentOS5, necessitando apenas de interação para informa o IP do servidor Zabbix e o hostname da máquina. Caso queira alterar a configuração do zabbix_agentd.conf altere da linha 33 a 46. Por padrão utilizo o repositório do zabbix-Agent 3.0 ( http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm ), caso queira alterar modifique a linha 24.
Por: Augusto Ribeiro
Instalação Zabbix-agent CentOS 6
O script realiza a instalação do Zabbix-Agent no CentOS 6, necessitando apenas de interação para informar o IP do servidor Zabbix e o hostname da máquina. Caso queira alterar a configuração do zabbix_agentd.conf, altere da linha 33 a 46. Por padrão utilizo o repositório do zabbix-Agent 3.0 ( http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm ), caso queira alterar modifique a linha 24.
Por: Augusto Ribeiro
Instalação Zabbix-agent CentOS7
O script realiza a instalação do Zabbix-Agent no CentOS, necessitando apenas de interação para informar o IP do servidor zabbix e o hostname da máquina. Caso queira alterar a configuração do zabbix_agentd.conf altere da linha 33 à 46. Por padrão utilizo o repositório do zabbix-Agent 3.0 ( http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm ), caso queira alterar modifique a linha 24.
Por: Augusto Ribeiro
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
É cada coisa que me aparece! - não é só 3% (1)
Alguma pessoa pode me ajudar com drriver Core i3 7020u (Debian 12)? (2)
Mikrotik não mostra bytes nem packtes (1)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código [RESOLVID... (4)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta