zsh:未找到匹配项:[:space:]

zsh: no matches found: [:space:]

出于某种原因,在 zsh 中,我无法使用 [:space:] 模式来匹配所有白色space。

例如。

$ echo 'Welcome To Here' | tr [:space:] '\t'
zsh: no matches found: [:space:]

但如果我在 bash 中执行此操作,则它可以正常工作

$ echo 'Welcome To Here' | tr [:space:] '\t'
Welcome To  Here

这会不会是我的 ~/.zshrc 中的某种问题,或者 zsh 不支持这个?我也在用 oh my zsh.

zsh 看到 [:space:] 并将其插入为通配符 glob,它将匹配名为 :sp、[= 的文件16=]、ce。当没有这样的文件时,它会产生一个错误。启用 failglob shell 选项后 bash 也会如此 - 您的设置可能会在某处关闭它。只需将其用引号括起来以防止扩展:

echo 'Welcome To Here' | tr '[:space:]' '\t'