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