如何在以下bash代码中拆分long valueX字符串?
case "$1" in
value1|value2|value3|...........more values..................| valueN)
some_processing "$@"
;;
...
esac
我正在寻找分成不同的行。 M.B。像:
VAL+=value1
VAL+=value2
....
提前致谢
答案 0 :(得分:8)
从手册页:
case命令首先扩展word,并尝试依次使用与路径名扩展相同的匹配规则将它与每个模式匹配[。]
换句话说,它是一个glob模式,而不是正则表达式。因此,您可以在模式令牌之间使用IFS。例如:
case "$1" in
value1 | \
value2 )
:
;;
esac
请注意,必须使用反斜杠转义行继续,这与通常的情况一样,管道符号将自动继续行。除此之外,您可以像在提示时那样分解线。