gpt4 book ai didi

linux - 如何让switch执行2个case

转载 作者:IT王子 更新时间:2023-10-29 00:58:02 25 4
gpt4 key购买 nike

如何让switch执行2个case?

我试过下面的代码,但它只执行第一种情况

#!/bin/sh
action="titi"

case "$action" in
toto|titi)
echo "1_$action"
;;
tata|titi)
echo "2_$action"
;;
esac

最佳答案

bash 中的 case 语句仅针对第一个匹配项执行 COMMAND-LIST 中的命令。

但是,在 bash 版本 4 或更高版本中引入了 ;& 终止符。 ;;& 运算符类似于 ;;,除了 case 语句在执行关联列表后不会终止 - Bash 只是继续测试下一个模式,就好像前一个模式一样不匹配。例如,使用这些终止符,可以将 case 语句配置为针对所有模式进行测试,或在 block 之间共享代码。

引用:摘自 http://wiki.bash-hackers.org/syntax/ccmd/case

因此,如果您有 bash v 4 或更高版本,这将给出您想要的结果:

#!/bin/sh
action="titi"

case "$action" in
toto|titi)
echo "1_$action"
;;&
tata|titi)
echo "2_$action"
;;
esac

关于linux - 如何让switch执行2个case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17700748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com