Primeiro, verifique a sintaxe básica do comando “ler”:
ler [opção] variávelUsar o comando “ler” significa que você está interagindo com o Bash para obter informações do usuário. Ele salva o valor em uma variável, mas sem “$" assinar. Você será capaz de entender melhor este conceito com um exemplo.
Exemplo 1: Usando o comando “ler” em um script Bash
Para examinar o comando “ler” com mais profundidade, criaremos um script simples que solicitará o nome do usuário. Primeiro, abra qualquer editor de texto; para este tutorial, estou usando o editor de texto Vim devido aos seus muitos recursos úteis. Para instalar o Vim, execute o seguinte comando no terminal:
$ sudo apt install vimEm seguida, digite o seguinte no arquivo de texto:
#! \ bin \ bashecho “Por favor, digite seu nome”
ler o nome
echo “Seu nome é” $ name
Salve o arquivo com qualquer nome e pressione Esc e digite “: w readcom.sh.”Para executar o script, emita o seguinte comando:
$ bash readcom.shO script acima irá pedir ao usuário para escrever seu nome. O comando “ler” salvará a entrada do usuário. A próxima linha irá imprimir o nome que o usuário inseriu.
Exemplo 2: Simplificando o Código Usando o Operador “prompt”
O exemplo acima pode ser simplificado ainda mais usando o “incitar”Operador. Vamos reescrever o exemplo acima para compreender o código:
#! / bin / bashleia -p “Por favor, digite seu nome” nome
echo “Seu nome é” $ name
Exemplo 3: Ocultando a entrada do usuário usando o operador "secreto / silencioso"
O "-s”Sinalizador pode ser usado para ocultar a entrada do usuário. O seguinte exemplo de script Bash mostra como usar o operador “-s”:
#! / bin / bashleia -p “Por favor, digite seu nome de usuário” nome de usuário
leia -s -p “Por favor, digite sua senha” $ senha
Exemplo 4: Limitando o comprimento do caractere
O "-n”Sinalizador pode ser usado para adicionar uma restrição ao número de caracteres que o usuário pode inserir.
#!/ bin / bashleia -n 8 -p “Por favor, digite seu nome de usuário com no máximo 8 caracteres” nome de usuário
echo “Seu nome de usuário é” $ username
Com a opção “-n”, o usuário ainda pode escrever menos de oito caracteres. Para restringir ainda mais o comprimento de entrada, o “-N”Pode ser usada, o que limita a resposta do usuário a exatamente oito caracteres.
Exemplo 5: Obtendo a entrada em uma matriz
A entrada do usuário também pode ser obtida em uma matriz com o “-uma" bandeira. Por exemplo, para obter o nome do usuário, idade e endereço de e-mail de uma vez, podemos usar uma matriz. Vamos ver um exemplo:
#! / bin / bashecho “Por favor, digite seu nome, idade e e-mail”
ler -uma matriz nome idade e-mail
echo “Seu nome, idade e endereço de e-mail são: $ array [@] nome idade e-mail”
echo “Seu nome e idade são: $ array [@]: 0: 1 nome idade”
echo “Seu endereço de e-mail é: $ array [2] e-mail”
- “$ Array [@]” percorrerá todas as variáveis.
- Para iterar pelos índices de 0 a 1, use “$ array [@]: 0: 1” com os nomes das variáveis.
- Para obter o valor de uma determinada variável em um índice específico, use “$ array [2]” com o nome da variável.
Exemplo 6: Adicionando um tempo limite ao comando “ler”
Como o nome do comando indica, um tempo limite pode ser adicionado como uma condição de leitura do código usando o sinalizador “-t”, o que faz com que o usuário insira informações para um tempo específico. Caso contrário, o programa irá para a próxima linha de código.
#! \ bin \ bashecho “Qual é a capital do Japão? Responda em 5 segundos ”
ler -t 5 resposta
if [“$ answer” = “tokyo”] || [“$ Answer” = “Tóquio”];
então
eco “Sua resposta está correta!”
senão
echo “Sua resposta está errada!”
fi
Conclusão
Obter a entrada de um usuário é uma das partes mais importantes da programação, tornando seus programas mais interativos. Este artigo mostrou como usar o comando “ler”, um dos principais comandos do script Bash. Neste artigo, você aprendeu sobre algumas das várias abordagens que podem ser usadas com o comando “ler”, desde operadores de sinalização básicos até operadores avançados.