执行rake命令时无法理解zsh错误

aas*_*ash 5 rake zsh ruby-on-rails

当我执行时%rake college:create[demo],我收到以下错误,

zsh: no matches found: college:create[demo]
Run Code Online (Sandbox Code Playgroud)

有人有解决方案吗?

当我执行时rake -T,这是我作为输出行之一得到的:

rake college:create[config_name]            # create a college profile
Run Code Online (Sandbox Code Playgroud)

因此,它是一个有效的命令,但仍然zsh显示错误.

KAR*_*ván 25

试试:

rake college:create\[demo\]
Run Code Online (Sandbox Code Playgroud)


Mar*_* S. 10

你也可以使用noglob

noglob rake college:create[demo]
Run Code Online (Sandbox Code Playgroud)

或者只是在.zshrc中将其别名

alias rake='noglob rake'
Run Code Online (Sandbox Code Playgroud)


pax*_*blo 7

zsh正试图将您的命令解释为通配符文件规范.college:create[demo]将扩展到与以下项之一匹配的现有文件列表:

college:created
college:createe
college:createm
college:createo
Run Code Online (Sandbox Code Playgroud)

此页面显示了一些zsh执行的通配符,在这种情况下的具体示例是:

  • [123]说明符,表示字符1,2或3中的任何一个.

你需要转义参数,以免zsh你认为你给它一个通配符,例如:

rake 'college:create[demo]'
Run Code Online (Sandbox Code Playgroud)

用于zshexpn手册页显示在命令行完成的所有扩展伟大的细节.搜索Filename Generationxyzzy[demo]样式世代.