【发布时间】:2021-10-06 20:40:51
【问题描述】:
我正在尝试将此 sn-p 代码从 bash 移植到 zsh:
#! /usr/bin/env bash # change zsh
set -x
pattern="[ab]"
marks="a"
case "${marks}" in
${pattern})
echo match
;;
esac
这会打印“匹配”。
Bash 原样替换${pattern},然后使用[ab] 匹配'a' 或'b'。
zsh 看似转义了'[]' 字符,然后使用\[ab\] 逐字匹配此字符串。
我没有看到 zsh 选项,如何更改行为和硬编码模式不是一个选项。
【问题讨论】:
标签: zsh string-matching variable-expansion