最佳答案
在流行的命令式语言中,一旦 case 语句匹配,switch 语句通常会“落到”下一个级别。
例如:
int a = 2;
switch(a)
{
case 1:
print "quick ";
case 2:
print "brown ";
case 3:
print "fox ";
break;
case 4:
print "jumped ";
}
会印上“棕色狐狸”。
但是 bash 中的代码是相同的吗
A=2
case $A in
2)
echo "QUICK"
;&
2)
echo "BROWN"
;&
3)
echo "FOX"
;&
4)
echo "JUMPED"
;&
esac
只印刷“棕色”
如何使 bash 中的 case 语句“ fall through”与第一个示例一样适用于其余条件?
(编辑: Bash 版本3.2.25,; & 语句(来自维基百科)导致语法错误)
跑步:
Test.sh:
#!/bin/bash
A=2
case $A in
1)
echo "QUICK"
;&
2)
echo "BROWN"
;&
3)
echo "FOX"
;&
esac
给予:
./test.sh: 第6行: 意外标记附近的语法错误 < code > ;’./test.sh:
第6行: ; &’