linux用select编写一道单选题和多选题
时间: 2024-03-12 12:49:34 浏览: 24
好的,我来为您解答。
您可以使用shell中的`select`命令来实现单选题和多选题。
单选题:
```shell
#!/bin/bash
options=("A" "B" "C" "D")
echo "下面哪个不是编程语言?"
select opt in "${options[@]}"
do
case $opt in
"A")
echo "A. Java"
;;
"B")
echo "B. Python"
;;
"C")
echo "C. HTML"
;;
"D")
echo "D. C++"
;;
*)
echo "无效的选项"
;;
esac
break
done
```
该脚本中,使用了`select`命令,将选项存储在`options`数组中,然后输出题目,并使用`select`命令循环等待用户输入,将用户的选择存储在`$opt`变量中,并使用`case`语句处理用户的选择,最后使用`break`语句跳出循环。
多选题:
```shell
#!/bin/bash
options=("A" "B" "C" "D" "E")
echo "下面哪些是编程语言?(多选)"
select opt in "${options[@]}"
do
case $opt in
"A")
echo "A. Java"
;;
"B")
echo "B. Python"
;;
"C")
echo "C. HTML"
;;
"D")
echo "D. C++"
;;
"E")
echo "E. JavaScript"
;;
*)
echo "无效的选项"
;;
esac
done
```
该脚本中,与单选题类似,使用`select`命令和`case`语句循环等待用户输入,并将用户的选择存储在`$opt`变量中。不同的是,多选题需要使用`Ctrl`+`C`来终止选择,而不是使用`break`语句跳出循环。
希望能够帮助到您!