gpt4 book ai didi

string - 如何在 Bash case 语句中测试空字符串?

转载 作者:行者123 更新时间:2023-11-29 08:39:47 25 4
gpt4 key购买 nike

我有一个 Bash 脚本,它根据变量的值执行操作。 case语句的一般语法是:

case ${command} in
start) do_start ;;
stop) do_stop ;;
config) do_config ;;
*) do_help ;;
esac

如果没有提供命令,我想执行一个默认例程,如果命令无法识别,我想执行do_help。因此,我尝试省略大小写值:

case ${command} in
) do_default ;;
...
*) do_help ;;
esac

结果是可以预见的,我想:

syntax error near unexpected token `)'

然后我尝试使用正则表达式:

case ${command} in
^$) do_default ;;
...
*) do_help ;;
esac

这样,一个空的 ${command} 就会落入 * 的情况。

我是在尝试做不可能的事吗?

最佳答案

case 语句使用 glob 而不是正则表达式,并坚持完全匹配。

因此空字符串照常写为 ""'':

case "$command" in
"") do_empty ;;
something) do_something ;;
prefix*) do_prefix ;;
*) do_other ;;
esac

关于string - 如何在 Bash case 语句中测试空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17575392/

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