使用语法为
的case语句 case $variable-name in
pattern1) command;;
patternN) command;;
*) command;;
esac
这里" *)"用于默认情况下,其模式与任何情况都不匹配。如果我想匹配模式" *"并且进行乘法并且还应该有默认情况吗?
答案 0 :(得分:5)
就这样逃避:
#!/bin/bash
variable-name="*"
case $variable-name in
\*) echo "Star";;
*) echo "Default";;
esac
或者你可以把*放在引号中。
答案 1 :(得分:1)
您可以使用*
转义\*
字符,或者如果您正在执行某些操作(例如加法,乘法等),则根据模式/字符的选择,最好使用数字表明操作。例如:
通过这样做你的case语句可以是这样的:
case $variable-name in
1)sum=$((n1 + $n2))
echo "Sum = $sum";;
2)difference=$((n1 - n2))
echo "Sub = $difference";;
3)product=$(( n1 * n2 ))
echo "Mul = $product";;
4)quotient=$(( n1 / n2 ))
echo "Div = $quotient";;
*)echo "Invalid choice";;
esac