Digamos que eu tenha um script bash:
#!/bin/bash
read -p "Gimme some stuff: " stuff
echo "**${stuff}**"
Se o script for invocado com alguma coisa, como:
echo "Here's some stuff" | ./myscript.bash
Então o read
comando irá ler a partir do tubo. Mesmo se eu tentar limpar stdin out antes de eu acertar isso read
comando, ele ainda retornará imediatamente.
Existe alguma maneira de contornar isso? Se eu não tenho nenhum controle sobre o modo como meu script é invocado, existe alguma maneira de forçá-lo a aceitar entradas para um read
ou select
do terminal? Se não, há alguma maneira sorrateira de pausar o script para obter a entrada de um usuário diferente do stdin?
fonte