【问题标题】:«while read» construction broke ZSH (oh-my-zsh)«while read» 构造破坏了 ZSH (oh-my-zsh)
【发布时间】:2015-07-17 11:46:55
【问题描述】:

我将 Zsh 与 oh-my-zsh 一起使用,

以下代码破坏了 zsh:

find ... | while read path                                                                                                                     
do
    echo "dedug «${path}»"
done

那么所有没有内置的脚本和函数都坏了

❯ invntrm $ which whois
whois not found

❯ invntrm $ which man
man not found

...

重新启动修复问题,直到我再次运行该命令。

我的设置几乎是库存,我使用了一些 omz 插件:

      git                 #·
      command-not-found   #·
      coffee              #·
      encode64            #·
      httpie              #·
      node                #·
      npm                 #·
      cp                  # cp with progress bar (rsync)
      extract             # 'x' alias - swiss knife for archive extracting
      safe-paste          # No execute immidiately every line # No compatible with zsh-autosuggestions :(
      fasd                # https://github.com/clvv/fasd - command-line productivity booster, offers quick access to files and directories
      brew                #·
      osx                 # https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins#osx
      copyfile            # copies selected file content to clipboard

【问题讨论】:

    标签: macos shell zsh oh-my-zsh


    【解决方案1】:

    您的 PATH 环境变量肯定是空的/损坏的。它包含您使用二进制文件的所有文件夹,例如echomangrepffmpeg 等。

    在脚本前后检查:echo "$PATH"。 在我的 oh-my-zsh 上,一切正常(当然,我使用不同的配置)。

    您应该在 oh-my-zsh 上提出一个问题,即他们的一个插件取消了 PATH

    哪一个 - 你应该找出。您可以尝试启用-禁用它们,然后检查错误插件的源代码中的PATH何时更改。

    您还可以更新 oh-my-zsh。转到它的文件夹并写git pull

    【讨论】:

    • 我今天发现了问题。
    • $path$PATH 对于 Zsh... 失败
    • theoden,你知道吗,如何切换这个 zsh 行为(忽略变量名大小写)?
    • 不是zsh 忽略大小写; pathPATH 是两个独立的名称,但 pathPATH 同步。其中PATH 是以冒号分隔的目录名称列表,path 是一个数组,PATH 中的每个目录都作为一个不同的元素。
    • @Atombit,我想你无法改变它。如果我需要导出我的变量,我会想到一个像 SID_ 这样的命名空间,并让我的所有变量都属于它:$SID_PATH,或 SID_PYTHON,或其他。
    【解决方案2】:

    不要在 Zsh 中将一些临时变量命名为 path

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-19
      • 2013-07-30
      • 1970-01-01
      • 2015-12-23
      相关资源
      最近更新 更多