Fedora “bash: : 命令未找到” for `ps aux | grep dnf`

Fedora “bash: : 命令未找到” for `ps aux | grep dnf`

我已经安装了 fedora 23,当我想在 su 模式下使用 grep 用户时发生此错误:

[root@alifed alireza]# ps aux |‌ grep dnf
 bash: ‌: command not found...

答案1

奇怪的是,你有一个 Unicode 格式字符200℃,“零宽度非连接器”,|在您的命令之后。

你从哪里得到这个例子?我假设您直接从某些文档中复制并粘贴它,并且由于某种原因,这个奇怪的格式字符进入了那里 - 我不确定到底为什么,因为我想不出一个好的理由。

bash 给你的错误实际上是正确的。将字符替换为可见表示后,错误就变得明显了:

[root@alifed alireza]# ps aux |200C grep dnf
bash: 200C: command not found...

shell 认为您正在将 的输出通过ps aux管道传输到名为该不可打印字符并grep dnf作为参数的命令。但是,当然,没有使用该名称的命令,因此它会告诉您这一点。

为什么我怀疑这就是问题所在?因为 bash 的正常错误语法是

$ noncommand
bash: noncommand: command not found...

在您报告的错误中,缺少命令的地方有一个空白。如果psgrep丢失,它会告诉您bash: ps: command not foundbash: grep: command not found。而且,由于您将确切的命令和错误粘贴到您的问题中,而不是重新输入(太棒了 - 始终是最佳实践!),我能够检查结果并进行复制。 (顺便说一句,这种情况也发生在非根用户身上——这su是一个转移注意力的事情。)

相关内容