用户将输入1-8个不同的值/值以获得一个或多个输出 例如: 用户输入" 1 3 5" 输出: 一 三 5
如何做到这一点?
read -p "1-8" one two three four five six seven eight
all = ($one $two $three $four $five $six $seven $eight)
case $all in
1) echo "one";;
2) echo "two";;
3) echo "three";;
4) echo "four";;
5) echo "five";;
6) echo "six";;
7) echo "seven";;
8) echo "eight";;
esac;
答案 0 :(得分:2)
你需要一个循环,直接读入数组会更简单:
read -p "1-8" -ra values
for x in "${values[@]}"; do
case $x in
1) echo "one" ;;
# etc
esac
done
另一个数组甚至比case
语句更简单:
numbers=(zero one two three four five six seven eight)
read -p "1-8" -ra values
for x in "${values[@]}"; do
echo "${numbers[x]}"
done