./fortune.sh -f thing.txt -a -n 2
- это формат, мой код уже проверяет, есть ли «-f», «-n», «-a» и «2» (или пятый аргумент, это может быть любое число для отображения сколько раз цикл должен цикл) присутствует. Но в моем коде вывод таков, что он запрашивает один раз ввод, а затем выводит случайную строку из текстового файла. Мне нужно, чтобы он запросил у меня входные данные (которые добавляются в текстовый файл "thing.txt") для количества раз, которое пользователь вставил; например, он запросил бы два ввода, поскольку пятым аргументом является «2»
Я пытался использовать переменные в качестве заполнителей для аргументов, например: yah2=$5 userfile=$2
и для части, где он добавляет входные данные в файл, я сделал что-то вроде:
read -p "Enter a new fortune: " wisdom2
echo "$wisdom2" >> "$userfile"
добавляет только один вход, а затем показывает случайную строку из файла.
if [ "$1" = "-f" ] && [ "$3" = "-a" ] && [ "$4" = "-n" ]
then
yah2=$5
userfile=$2
for i in $yah2
do
read -p "Enter a new fortune: " wisdom2
echo "$wisdom2" >> "$userfile"
done
fi
Как указывалось ранее, код должен запрашивать у меня информацию о том, сколько раз будет пятый аргумент. Например, если $ 5 = 2, он будет помещен в переменную "yah2", поэтому он будет повторяться дважды, но это не так. Я не знаю, правильно ли "эхо" выполняет свою работу.