【问题标题】:Oh-my-zsh hash (pound) symbol bad pattern or match not foundOh-my-zsh 哈希(磅)符号错误模式或未找到匹配项
【发布时间】:2012-09-06 15:49:20
【问题描述】:

我很确定我的 Oh-my-zsh 配置有问题,但我不知道它是什么。

当我在我的 git 命令中使用“#”符号时(但也用于其他所有内容,例如“ls #2”),我收到“错误模式”错误或“未找到匹配项”

我猜是要计算一些东西,但我找不到在哪里配置它。

I.E.

➜  demo git:(adlist) git push origin adlist#3 
zsh: no matches found: adlist#3

➜  demo git:(adlist) git push origin #3-adlist
zsh: bad pattern: #3-adlist

【问题讨论】:

    标签: hash key zsh


    【解决方案1】:

    使用单引号:

    git push origin 'adlist#3'
    git push origin #3-adlist
    

    在 zsh 中,# 用于去除模式。请参阅:http://zsh.sourceforge.net/Guide/zshguide05.html 标题下的 标准形式:模式去除

    【讨论】:

    • 是否可以禁用模式删除?这让我发疯了
    • 链接的文章并没有真正解释#(不带引号)的实际用途导致zsh 尝试执行。谁能把它写成简明的英文?
    • 模式删除。试试:param=foobar;回声 ${param#foo}
    • @SWrobel 您可以通过使用 noglob git 为 git 起别名来禁用它: alias git='noglob git'
    • @YonggooNoh set +k
    【解决方案2】:

    您可以unsetopt EXTENDED_GLOB,这应该会阻止# 被解释为模式的一部分。

    如果你确实想保留EXTENDED_GLOB 的大部分功能,但又想禁用# 用于模式,那么你可以disable -p '#'(你必须单引号# 参数,这样它不会像模式一样扩展)。这当然适用于我的 zsh 安装版本 5.7.1,尽管它没有记录在 zshbuiltins(1) 中。

    【讨论】:

      【解决方案3】:

      打开你的 zshrc 文件:

      vi ~/.zshrc
      

      添加到文件末尾:

      unsetopt INTERACTIVE_COMMENTS
      unsetopt BAD_PATTERN
      

      影响你的文件:

      source ~/.zshrc
      

      重新启动您的终端并享受它。

      【讨论】:

        猜你喜欢
        • 2016-08-27
        • 1970-01-01
        • 1970-01-01
        • 2015-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多