2011-12-13 126 views
5

了解zsh的错误,当我执行%rake college:create[demo],我得到以下错误,无法在执行rake命令

zsh: no matches found: college:create[demo] 

任何人有一个解决方案?

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

rake college:create[config_name]   # create a college profile 

所以,这是一个有效的命令,但zsh的仍显示误差。

回答

22

尝试:

rake college:create\[demo\] 
+0

它的工作... thnx很多!..-) :-) –

7

zsh试图解释你的命令作为通配符文件specication。 college:create[demo]将扩大到的匹配的一个现有文件列表:

college:created 
college:createe 
college:createm 
college:createo 

This page显示了一些通配符的那zsh执行,在这种情况下存在的具体的例子:

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

您需要t Ø逃脱的说法,这样zsh不认为你给它一个通配符,如用:

rake 'college:create[demo]' 

manpage for zshexpn显示细节上的命令行做了所有扩展。搜索Filename Generationxyzzy[demo]风格世代。

+0

thnx!..我知道临时工t zsh intrepreted':'作为通配符:-) –

+1

@ user966265它不是':',它是被解释为通配符的括号;冒号在几个替换中有特殊含义:http://zsh.sourceforge.net/Guide/zshguide05.html(搜索“冒号”) –

10

你也可以在你的.zshrc使用noglob

​​3210

或者只是别名它

alias rake='noglob rake' 
+0

当你使用zsh的bundle插件时,你知道如何解决它吗?这个别名是不够的。 – Ron

+0

对不起,明白了:'alias rake =“noglob bundled_rake”' – Ron

0

如果是通过bundle execbin/ DIR它添加到您.zshrc文件中使用耙:

alias bin/rake='noglob rake' 
# or 
alias rake="noglob bundled_rake