Como ler do usuário na linha de leitura while-loo
Eu tinha um arquivo bash que solicitava ao usuário alguns parâmetros e usava padrões se nada fosse dado. O script passou a executar outros comandos com os parâmetros. Isso funcionou muito bem - sem problemas até a adição mais recente.
Em uma tentativa de ler o parâmetro NAMES de um arquivo txt, adicionei um loop while para incluir os nomes no arquivo, mas ainda gostaria que os parâmetros restantes fossem solicitado
Mas depois que adicionei o loop while, a saída mostra o prompt impresso em get_ans () e nunca faz uma pausa para uma leitura, portanto todos os padrões são selecionado
Gostaria de ler o primeiro parâmetro de um arquivo e, em seguida, todos os arquivos subsequentes solicitando ao usuári
O que eu quebrei adicionando o loop while?
cat list.txt |
while read line
do
get_ans "Name" "$line"
read NAME < $tmp_file
get_ans "Name" "$line"
read NAME < $tmp_file
done
function get_ans
{
if [ -f $tmp_file ]; then
rm $tmp_file
PROMPT=$1
DEFAULT=$2
echo -n "$PROMPT [$DEFAULT]: "
read ans
if [ -z "$ans" ]; then
ans="$DEFAULT"
fi
echo "$ans" > $tmp_file
}
(NOTA: O código não é copiado e colado; portanto, desculpe erros de digitação. O código real tem a função definida antes do main ())