W przypadku klasy muszę napisać skrypt Bash, który pobierze dane wyjściowe, ispell
a kiedy próbuję poprosić użytkownika o wprowadzenie danych w pętli while, zapisuje on po prostu następny wiersz pliku jako dane wejściowe użytkownika.
Jak mogę poprosić użytkownika o wprowadzenie danych w pętli while?
#!/bin/bash
#Returns the misspelled words
#ispell -l < file
#define vars
ISPELL_OUTPUT_FILE="output.tmp";
INPUT_FILE=$1
ispell -l < $INPUT_FILE > $ISPELL_OUTPUT_FILE;
#echo a new line for give space between command
#and the output generated
echo "";
while read line;
do
echo "'$line' is misspelled. Press "Enter" to keep";
read -p "this spelling, or type a correction here: " USER_INPUT;
if [ $USER_INPUT != "" ]
then
echo "INPUT: $USER_INPUT";
fi
echo ""; #echo a new line
done < $ISPELL_OUTPUT_FILE;
rm $ISPELL_OUTPUT_FILE;
bash
shell-script
control-flow
user-input
Steven10172
źródło
źródło