Bash 如何在switch case语句中排除某些情况?
在上面,我对案例2和3重复“do C”。除了这种冗余,我有没有办法定义一个适用于所有情况的情况,除了情况1或适用于情况2、3、5的情况,基本上是我想要的任何情况 比如:Bash 如何在switch case语句中排除某些情况?,bash,shell,case-statement,Bash,Shell,Case Statement,在上面,我对案例2和3重复“do C”。除了这种冗余,我有没有办法定义一个适用于所有情况的情况,除了情况1或适用于情况2、3、5的情况,基本上是我想要的任何情况 比如: allExceptCase1或Only2,3,5,而不是其他的在这里,我用两个值和另一个默认子句讨论了一种情况 option="${1}" case ${option} in 1) do A do B ;;
allExceptCase1或Only2,3,5,而不是其他的在这里,我用两个值和另一个默认子句讨论了一种情况
option="${1}"
case ${option} in
1) do A
do B
;;
2) do A
do B
do C
;;
3) do A
do B
do C
;;
esac
RTFM:
在这里,我用两个值和另一个default子句讨论了一种情况
option="${1}"
case ${option} in
1) do A
do B
;;
2) do A
do B
do C
;;
3) do A
do B
do C
;;
esac
RTFM:
case语句中的每个选项都是独立的,但它们是由shell模式定义的。因此,您可以这样做:
case ${option} in
1) do A
do B
;;
2|3) do A
do B
do C
;;
*) do D
;;
esac
您也可以嵌套case语句,因此也可以这样做:
case ${option} in
1) do A
do B
;;
[23])
do A
do B
do C
;;
esac
case ${option} in
[123])
do A
do B
case ${option} in
[23]) do C
;;
esac
;;
esac
如果您愿意假设${option}始终为1、2或3,那么您也可以这样做:
case ${option} in
1) do A
do B
;;
[23])
do A
do B
do C
;;
esac
case ${option} in
[123])
do A
do B
case ${option} in
[23]) do C
;;
esac
;;
esac
case语句中的每个选项都是独立的,但它们是由shell模式定义的。因此,您可以这样做:
case ${option} in
1) do A
do B
;;
2|3) do A
do B
do C
;;
*) do D
;;
esac
您也可以嵌套case语句,因此也可以这样做:
case ${option} in
1) do A
do B
;;
[23])
do A
do B
do C
;;
esac
case ${option} in
[123])
do A
do B
case ${option} in
[23]) do C
;;
esac
;;
esac
如果您愿意假设${option}始终为1、2或3,那么您也可以这样做:
case ${option} in
1) do A
do B
;;
[23])
do A
do B
do C
;;
esac
case ${option} in
[123])
do A
do B
case ${option} in
[23]) do C
;;
esac
;;
esac
非常感谢。嵌套选项特别有用,因为我的每个案例都有一些独特的语句和一些常见的语句。谢谢!嵌套选项特别有用,因为我的每个案例都有一些独特的语句和一些常见的语句。