Explorando a entrada de dados com READ em Bash Shell
Mostro algumas opções úteis no comando read que podem ajudar na hora de escrever certas funcionalidades nos scripts em Bash Shell, algumas me ajudaram recentemente.
Usando as opções do read
Recentemente precisei manipular um pouco a entrada de dados em Bash Shell, obtendo o que o usuário digitar no console e fazendo alguns tratamentos. Em minhas pesquisas vi que o comando read tem várias opções que ajudam nessa tarefa.
Estou há uns meses aprendendo aos poucos sobre shell e ainda não tinha visto muito material usando essas opções do read, talvez por não haver a necessidade, ou porque para aprender mais sobre ele não basta "man read", e sim consultar diretamente o manual do bash quem tem mais de 3 mil linhas.
Então resolvi escrever esse material para ajudar a mostrar como estender o read.
O uso padrão, quem escreve scripts em shell já conhece:
read VARIAVEL
Que segue uma sintaxe comum a outras linguagens (por exemplo a Pascal).
Então vamos ver algumas opções que estendem os poderes do read.
A opção -p originalmente mostra uma mensagem na saída de erro padrão, se você não estiver redirecionando essa saída para o vácuo (/dev/null) ou para nenhum outro lugar, será apresentada na tela do console normalmente.
Exemplo:
Você pode inclusive digitar ENTER e mesmo assim o read não será encerrado (CTRL+C é covardia, ele faz parte do bash e vai encerrar).
Estou há uns meses aprendendo aos poucos sobre shell e ainda não tinha visto muito material usando essas opções do read, talvez por não haver a necessidade, ou porque para aprender mais sobre ele não basta "man read", e sim consultar diretamente o manual do bash quem tem mais de 3 mil linhas.
Então resolvi escrever esse material para ajudar a mostrar como estender o read.
O uso padrão, quem escreve scripts em shell já conhece:
read VARIAVEL
Que segue uma sintaxe comum a outras linguagens (por exemplo a Pascal).
Então vamos ver algumas opções que estendem os poderes do read.
I/O (imprimindo e lendo valores) ao mesmo tempo
read -p 'TEXTO' VARIAVELA opção -p originalmente mostra uma mensagem na saída de erro padrão, se você não estiver redirecionando essa saída para o vácuo (/dev/null) ou para nenhum outro lugar, será apresentada na tela do console normalmente.
Exemplo:
#!/bin/bash # A entrada de dados é encerrada ao digitar a interrogação '?' read -p "Digite sua pergunta? : " -d'?' PERGUNTA echo echo "$PERGUNTA"
Você pode inclusive digitar ENTER e mesmo assim o read não será encerrado (CTRL+C é covardia, ele faz parte do bash e vai encerrar).
Vai me ajudar bastante nos meus estudos!
Valeu!