Neste tópico, aprenderemos a ler a entrada do utilizador a partir do terminal e do script.
Para ler a entrada do utilizador Bash, utilizamos o comando Bash incorporado chamado read. Este recebe o input do utilizador e atribui-o à variável. Lê apenas uma única linha a partir da shell do Bash. Abaixo está a sintaxe para a sua implementação.
Sintaxe
Seguir os exemplos dados para ler o input do utilizador a partir do Bash Script:
Exemplo 1:
Neste exemplo, lemos tanto as variáveis únicas como múltiplas do Bash Script usando o comando read.
Programa:
Ver a Consola do Bash:
p>Saída:
O que acontecerá se não passarmos nenhuma variável com o comando de leitura?
Se não passarmos nenhuma variável com o comando de leitura, então podemos passar uma variável incorporada chamada REPLY (deve ser prefixada com o sinal $) enquanto exibimos o input. Pode ser explicado usando o programa abaixo:
Programa:
Na Consola de Bash:
Saída:
Exemplo 2:
Neste exemplo, introduzimos a entrada no mesmo PROMPT usando a opção de linha de comando -p da seguinte forma:
Programa:
Veja a Consola de Bash:
Saída:
Exemplo 3:
Este exemplo é para manter a entrada em modo silencioso, de modo a que o que quer que seja uma entrada do utilizador na linha de comando seja escondido a outros.
Assim, passamos um nome de utilizador e escondemos a palavra-passe (modo silencioso) usando as opções da linha de comando (-s, -p) normalmente da seguinte forma:
Onde -s permite a um utilizador manter a entrada no modo silencioso e -p a entrada no prompt de comando novo.
Programa:
Veja a Consola Bash:
Saída:
NOTE: Na 5ª linha do script, demos uma linha em branco com o comando echo, porque se não a deixarmos em branco, então dará a saída com a palavra-chave e o nome de utilizador na mesma PROMPT que a imagem abaixo.
Então, escreva o seu script adicionando uma linha de comando de eco em branco.
Exemplo 4: Este exemplo é para introduzir múltiplas entradas usando um array. Assim, utilize a opção -a linha de comando como se segue:
Onde -a ajuda o script a ler um array, e variável_nome refere-se a um array.
Programa:
Ver o código na Consola Bash:
p>Saída: br>