Не работает функция в bash
Необходимо чтобы после того как пользователь ввел Prefix, сразу срабатывала function menu и выводило меню пользователю. Работать function menu должна через case без каких либо дополнительных команд для вызова функции меню - не могу понять как это сделать ???
#!/bin/bash
echo -n "введите PREFIX: "
read Slov # в переменную Slov попадает слово которое ввел пользователь
Prefix=("$Slov") # в этой переменной храниться слово для сравнениz]я
function new_dir { #функция в которой мы создаем новую директорию с актуальной датой
YMD=$(pwd)/$(date +%Y-%m-%d)
mkdir -p $YMD
}
function New_files { #функция которая создает 100 файлов (имена файлов от 1 до 100) и в каждом файле лежит 4-х значное число
for i in {1..100}; #создаем файлы
do echo $(( $RANDOM % 8999 + 1000 )) > $YMD/File$i; done #рандомно создаем числа сохраняем их в вновь созданный файл
cat $YMD/* | while read y #просмотр содержимого файлов из папки
do
echo "$y" >> $YMD/s #выводит содержимое на экран, сохраняем все числа из созданных файлов File$i в файл s
done
}
echo "$y"
function menu { #функция в которой мы вызываем меню в котором пользователю предлагаются варианты действий
for i in 1; do
if [[ "$Slov" = "$Prefix" ]]; then #здесь мы сравниваем введенное слово с тем что должно быть
#echo "cool" # программа может продолжать работать
echo "Введите 0: программа выполнит все действия"
echo "Введите 1: программа выполнит только 1 действие - создаст с 100 файлов с рандомными 4-х значными числами"
echo "Введите 2: программа выполнит только 2 действие - выдаст сумму первых 50 чисел и вторых 50 чисел, а такще покажет како"
echo "Введите 3: программа выполнит только 3 действие - программа скажет в каком файле лежит самое большое и самое маленькое"
else
exit 1 #в случае если слово введено неверно скрипт полностью прекращает работу
fi
done
echo -n "введите номер операции: " #здесь мы вводим номер операции которую хотим выполнить
read Nomer
}
case $Slov in
"1")
menu
new_dir
New_files
;;
esac