[[ ... ]] 中的 ZSH 扩展变量不执行通配
ZSH expanded variables in [[ ... ]] do not perform globbing
我在 .zshrc
中设置了 extended_glob
。
这按预期工作:
[[ "value" = [a-z]* ]] && echo "globbed"
打印“globbed”。
但这不是:
foo=[a-z]*
[[ "value" = $foo ]] && echo "globbed"
不打印任何内容。
为什么会这样?我需要在 .zshrc 中设置什么才能使其正常运行?
您可以使用
foo='[a-z]*'
[[ "value" == $~foo ]] && echo "globbed"
$~foo
表示法允许在 zsh 中通配。
我在 .zshrc
中设置了 extended_glob
。
这按预期工作:
[[ "value" = [a-z]* ]] && echo "globbed"
打印“globbed”。
但这不是:
foo=[a-z]*
[[ "value" = $foo ]] && echo "globbed"
不打印任何内容。
为什么会这样?我需要在 .zshrc 中设置什么才能使其正常运行?
您可以使用
foo='[a-z]*'
[[ "value" == $~foo ]] && echo "globbed"
$~foo
表示法允许在 zsh 中通配。