如何跨多行分割很长的案例模式?

LiM*_*Mar 2 string bash split switch-statement

我怎么能在下面的bash代码中拆分long valueX字符串?

case "$1" in
    value1|value2|value3|...........more values..................| valueN)
        some_processing "$@"
        ;;
    ...
esac
Run Code Online (Sandbox Code Playgroud)

我正在寻找分成不同的行.Mb喜欢:

VAL+=value1
VAL+=value2
....
Run Code Online (Sandbox Code Playgroud)

提前致谢

Tod*_*obs 9

从手册页:

case命令首先扩展word,并尝试依次使用与路径名扩展相同的匹配规则将其与每个模式匹配[.]

换句话说,它是一个glob模式,而不是正则表达式.因此,您可以在模式令牌之间使用IFS.例如:

case "$1" in
    value1 | \
    value2 )
        :
    ;;
esac
Run Code Online (Sandbox Code Playgroud)

请注意,必须使用反斜杠转义行继续,这与通常的情况一样,管道符号将自动继续行.除此之外,您可以像在提示时那样分解线.

  • 你的回答让我不必要.取消你的,取消我的. (2认同)