【问题标题】:Command not found after pipe管道后找不到命令
【发布时间】:2016-04-17 01:17:04
【问题描述】:

我正在使用带有 zsh 的 OS X Mavericks(技术上是包 oh-my-zsh)。

我已经面对这个错误有一段时间了,还没有找到修复它的方法。有时当我通过管道传输命令时,它只是说找不到命令。

例如,当我像 nmap -sL 192.168.2.0/24 | grep ')' 这样进行 nmap 网络列表扫描时,有时会收到错误 zsh: command not found:  grep。即使我使用向上箭头按钮也不起作用,所以我必须重写命令,完全一样,它会起作用。

这真的很烦人,它偶尔会在其他命令中发生,而且主要是在管道之后。

知道为什么会这样吗?

【问题讨论】:

标签: macos unix terminal grep


【解决方案1】:

这是在 Mac OS X 中复制和粘贴命令行时发生的常见错误。 您可以做的是删除 | 之前和之后的空格

例如 kubectl get pods | grep bla-bla-bla 现在是 kubectl get pods|grep bla-bla-bla

希望对你有帮助

【讨论】:

    【解决方案2】:

    它只是有时发生的事实表明您的输入实际上不时地(微妙地)变化。

    这取决于您使用的键盘类型,但我认为您在输入管道后的空格时可能不小心按住了Alt 键。 Alt+Space 是一个不间断的空间,zsh 无法识别。

    【讨论】:

    • 天哪,你是对的。太感谢了。为了容易被锯>.
    • 沃森小学。
    • 完美,谢谢。我的终端没有显示阻碍它的“丑陋空间”。
    • 2021 年来到这里,对此感到困惑。谢谢。