Questions tagged «case»

4
bash案例声明结尾处的“ esac”是什么意思?需要吗?
我发现在bash case语句的末尾出现了多个“ esac”的示例,但是我没有找到任何有关其用法的清晰文档。手册页使用了它,甚至在单词上有一个索引(https://www.gnu.org/software/bash/manual/bashref.html#index-esac),但没有定义它的用法。是结束案例陈述,最佳实践还是纯技术的必需方法?
55 bash  case 

4
如何使用变量作为大小写条件?
我试图使用由具有分离的不同的字符串变量|作为case语句测试。例如: string="\"foo\"|\"bar\"" read choice case $choice in $string) echo "You chose $choice";; *) echo "Bad choice!";; esac 我希望能够输入foo或bar执行case语句的第一部分。然而,无论是foo和bar带我去第二: $ foo.sh foo Bad choice! $ foo.sh bar Bad choice! 使用"$string"而不是$string没有区别。都不会使用string="foo|bar"。 我知道我可以这样: case $choice in "foo"|"bar") echo "You chose $choice";; *) echo "Bad choice!";; esac 我可以想到各种解决方法,但我想知道是否有可能case在bash中将变量用作条件。有可能吗?

8
基于if条件的案例失败
我正在寻找一种方法来根据bash中的case条件中的if条件发生失败。例如: input="foo" VAR="1" case $input in foo) if [ $VAR = "1" ]; then # perform fallthrough else # do not perform fallthrough fi ;; *) echo "fallthrough worked!" ;; esac 在上面的代码中,如果变量VAR是1,我希望条件条件执行失败。

2
案例陈述之外的变量分配
在许多语言中,可以将case / switch语句的结果分配给变量,而不是在case语句中多次重复变量分配。是否可以在Bash shell中执行类似的操作? color_code=$(case "$COLOR" in (red) 1;; (yellow) 2;; (green) 3;; (blue) 4;; esac) (或者,顺便说一句,在其他任何外壳中?)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.