Como faço para solicitar a entrada em Bash?

Como faço para solicitar a entrada em Bash?

Muitas vezes, é necessário executar cálculos, dependendo das entradas do usuário ao criar um script bash. Ao longo deste guia, antes de realizar uma operação básica com um script de shell, primeiro, vamos dar uma olhada em interpretar e verificar as entradas do usuário. Estaremos usando o comando integrado de leitura bash para interpretar a entrada do usuário do BASH. O comando de leitura assume algum valor como entrada através do usuário e o aloca para a variável. Ele leu apenas uma linha solitária através do terminal de comando BASH. Neste guia, você aprenderia a interpretar a entrada do usuário do terminal e do script.

Para implementar o comando de leitura, aqui está a sintaxe:

ler

Exemplo 01:

Vamos dar um exemplo simples de leitura de contribuições do usuário em Bash quando rápido. Abra um terminal e crie um novo arquivo “Entrada.sh ”.

Abra o arquivo e adicione um pequeno código a ele como abaixo. Em primeiro lugar, a declaração Echo está pedindo ao usuário que adicione o valor de entrada. A declaração de leitura é usada para inserir o valor do usuário, que será salvo na variável "nome". A última declaração de eco é usada para imprimir a resposta com o valor de entrada como variável "$ nome".

Execute o arquivo usando o comando bash. Em primeiro lugar, ele solicitará o nome. Quando o usuário inserir o valor "aqsa", ele imprimirá a mensagem com o valor nele.

Exemplo 02:

Abra o arquivo antigo e escreva o código abaixo. Podemos estar usando o comando de leitura integrado; Para um usuário com uma consulta, usando essa opção -P. Você deve convocar para usar a palavra -chave “readline” -e para deixar a edição de linha com teclas de seta. Depois disso, use a variável para imprimir o caminho de um arquivo inserido por um usuário no shell de comando.

Vamos verificar a saída deste código usando o comando bash no terminal. Você verá que pedirá que o caminho do arquivo seja inserido no shell. Ao inserir o valor necessário e pressionar Enter, ele o imprimirá.

$ BASH entrada.sh

Se você deseja sugerir uma resposta, precisa usar a palavra-chave "-i" após a string com o caminho em vírgulas invertidas.

Vamos verificar a saída para o código atualizado usando o comando bash. Você perceberá que ele sugerirá um caminho de arquivo como abaixo.

Exemplo 03:

Vamos ter outro exemplo de solicitação de entrada em uma concha. Anote o código abaixo no arquivo “Entrada.sh ”. Temos dois comandos de leitura para adicionar credenciais de login por um usuário no shell. A palavra-chave "-sp" é usada para ocultar a "senha" da credencial ao entrar no shell.

Na execução, você pode ver que o usuário inseriu suas credenciais enquanto a senha está oculta ao entrar. No final, ele exibiu a mensagem para pagar graças ao usuário.

Exemplo 04:

Temos outro exemplo para ler vários nomes de carros como valores do shell bash do usuário. Para esse fim, exigimos três variáveis ​​como "Car1", "Car2" e "Car3". Temos um comentário de eco que está pedindo os nomes dos carros. O comando de leitura é usado para ler os valores de entrada (nomes de carros) por um usuário em um shell. As próximas três declarações de eco imprimirão as mensagens com os nomes do carro consecutivamente.

Usando o comando bash, execute o arquivo. Ele pedirá os nomes dos carros que você gosta. Quando o usuário inseriu os nomes dos carros consecutivamente, ele os salvará em variáveis ​​de um comando de leitura e os imprimem usando as próximas três declarações de eco um por um.

Exemplo 05:

No exemplo acima, vimos como solicitar a entrada do usuário enquanto salva a entrada em três variáveis. Neste exemplo, aprenderemos sobre como ler valores inseridos do usuário em uma variável como membros da matriz usando a palavra-chave “-a”. Então, abra o mesmo arquivo e escreva o código abaixo. A declaração de eco solicitará que você insira a entrada necessária. A declaração de leitura tem a palavra-chave "-a" para pegar vários valores do usuário e salvá-los para a única matriz variável "nomes". Na última declaração de eco, todos os valores inseridos são impressos como membros da matriz no texto da string.

Enquanto executa o arquivo “Entrada.sh ”, o usuário foi solicitado a inserir os valores. Quando o usuário insere os valores, esses valores foram salvos na variável da matriz "nomes". Depois de salvar esses valores, a declaração Echo será executada e imprimirá os nomes inseridos como valores de matriz em si como mostrado.

Exemplo 06:

Vamos pegar o mesmo arquivo com pouca alteração no script. Escrevemos dois comandos de leitura para assumir o valor de um usuário como entrada em um shell e os salvamos em duas variáveis, "num1" e "num2". Depois disso, ambas as variáveis ​​foram impressas.

No terminal de comando, escreva o comando chmod para atribuir privilégios de execução a este arquivo.

$ chmod +x entrada.sh

Ao executar esse arquivo usando o Bash, você verá que ele solicitará que você adicione números consecutivamente. Quando você insere os valores necessários, ele imprimirá os dois números separadamente.

Se você deseja validar que qualquer campo ou variável é deixado em branco pelo usuário, pode atualizar o código anterior como abaixo. A palavra-chave "-z" é usada para verificar as duas variáveis, se elas tiverem algum espaços em branco.

Enquanto a execução, o usuário adicionou espaço como um número. O usuário recebeu uma mensagem para tentar novamente porque a variável inserida pelo usuário obteve espaços.

Vamos tentar o mesmo código com algumas condições sobre os números inseridos pelo usuário. Se o usuário inserir qualquer caractere diferente daqueles mencionados no código abaixo, ele passará uma mensagem.

Ao tentar esse código, um usuário adicionou um personagem especial, que gera uma mensagem rápida.

Conclusão

Neste guia, você aprendeu com sucesso a levar a entrada do usuário no shell e interpretar a entrada do usuário usando alguns exemplos muito simples.