你好,我想在使用文本文件时创建一个交互式 bash 文件,如何让它工作,就像如果用户按下 1,它会给他一个来自这个文本文件的完整名称列表,例如,我在
- 列出全部
- 显示信息
- 统计学生人数
- 删除学生
- 备份
- 退出全部列出:如果助手选择此选项,则会显示所有学生的信息(每个文件的第一行),每行一个学生,按学生姓氏的字母顺序排列。
显示信息:如果助手选择此选项,则会创建并显示一个包含所有学生 ID、专业和 GPA 的文件(每行一个学生)。
删除学生:如果助手选择此选项,他/她将提示输入学生的 ID 以从数据库中删除其文件。添加条件以检查学生 ID 的有效格式(9 位数字)。如果 ID 不存在,则返回警告消息。
计数:如果助手选择此选项,则每个专业的学生人数将以反向数字显示。
备份:如果助手选择此选项,则会为学生数据库创建一个备份文件夹,并在文件夹 2 的名称中添加操作时的日期(CurrentStudents.Date)。日期必须采用以下格式:day_FullMonthName_Last2DigitsYear。
退出:如果助手选择此选项,程序将终止。
此外,菜单在每个选项之后都会再次显示,但“退出”选项除外,该选项会终止程序。菜单上的任何无效选择都会显示一条消息,通知用户该选择无效,并再次提示用户选择。有两种方法可以正常结束程序:要么让用户选择“退出”选项,要么输入无效选项超过 3 次。非常感谢您的帮助
答案1
您可以将其用作模板:
#!/bin/bash
menu () {
echo "Please choose a command below"
echo " 1)Print Present workind directory"
echo " 2)echo hi"
echo " 3)Clear screen"
echo " 4)Exit menu"
}
menu
while read n
do
case $n in
1) echo "$PWD";;
2) echo "hi";;
3) clear;;
4) exit;;
*) echo "invalid option. Please try again";;
esac
menu
done