Хорошо, я в тупике, но, конечно, это возможно ..
Скажем, у вас есть файл options.csv, который выглядит как
ID, option
1, something
2, something else
3, you get the point
4, fin
И я хочу разобрать эти элементы для использования в качествевыбираемые пользователем элементы в операторе case, что делает оператор по существу переменным в случае изменения CSVЯ полагаю, что могу проанализировать файл с помощью read и IFS =, но я заблудился относительно того, как взять то, что будет проанализировано в выбираемое пользователем меню.
Возможно ли такое в bash?Конечно, я думаю, что это так, но я не знаю, как реализовать.Бонус, если ID столбца CSV совпадает с входным значением выбора из оператора case.
@ Cyrus поставил меня на правильный путь.
Что-то подобное?Хотя я знаю, что синтаксис выключен:
#read csv file to an array and ignore header
mapfile -t array < <(awk -F ', ' 'NR>1{print $2}' $file)
#Use array to map values to selection menu
select name in "${array[@]}";do echo "$name" >> item.list; done
cat $sysBanner > itemMenu && cat item.list >> itemMenu && echo -e "\n\n" >> itemMenu
cat itemMenu
read -p "Item to select: "
case $itemSelected in
@) echo -e "\nOK, $name selected.\n"
sleep 1 && clear
componentName=$name
;;
* ) echo "invalid selection. Please try again."
;;
esac