linux - 允许用户仅选择一组显示的 ID

标签 linux bash shell centos7

我真的不知道这叫什么所以是的,基本上我想让用户只选择显示的 ID(见图)。我正在考虑拥有一个变量并将这些数字保存为数组,但我不知道,因为我仍在学习 bash 脚本。谢谢!

我的脚本是这样的

read -p "Select accessory category below."
mysql -D snipeit -e "SELECT id AS ID, name AS Name FROM categories WHERE category_type='accessory';"
read -p "Accessory category: " accessoryCateg
if *(allow only 4, 5, 7, 8, 9, 10, 11, 12, 13, 14 to be selected)*
*inserts data into database*
else echo "Try again!"
fi

最佳答案

你可以尝试使用select命令:

echo "Select accessory category below."
sample1=`mysql -D snipeit -e "SELECT id AS ID FROM categories WHERE category_type='accessory';"`
options=(`echo $sample1 | cut -d ' ' -f2-`)

PS3="Please select a category: "
select accessoryCateg in "${options[@]}"
do
echo "selected $accessoryCateg"
#inserts data into database
break;
done

关于linux - 允许用户仅选择一组显示的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38367444/

相关文章:

linux - 在 Linux 上编写 SOAP 服务 - 需要工具和帮助

bash - 转换并不总是存在的目录上的文件

bash - "plus colon"("+:") 在 shell 脚本表达式中是什么意思?

macos - 如何在 MacOS 上获取 shell 脚本的绝对路径名?

c++ - 什么会导致 HP-UX 和 LINUX for C++ 应用程序的返回值不同?

linux - scp 输出为日志文件

bash - 当我中断 bash 脚本时试图关闭所有子进程

linux - Bash 脚本 - 卸载一个设备,但如果没有安装它不会失败?

linux - 如何在 find 命令中删除两个目录

linux - 在Windows 7和Windows 8中,我们可以将笔式驱动器/闪存驱动器用作RAM。我们如何在Debian Linux中做到这一点?