为什么此命令不起作用:“ps aux | grep xscreensaver”

som*_*ing 9 grep bash command-not-found

我在谷歌上没有看到任何关于这个的点击,所以我问你:

我只是尝试在 ssh 会话中运行此命令,本地是 Debian Wheezy KDE,远程是 Fedora 21 Gnome:

ps aux | grep xscreensaver
Run Code Online (Sandbox Code Playgroud)

这是输出:

bash:  grep: command not found...
Run Code Online (Sandbox Code Playgroud)

以前没见过,请问是什么原因?

我就在更新系统前几个小时,但没有看到任何标记为删除的软件包。系统上只有两个用户,只有我在上面安装或删除软件。

编辑#1

这是复制的命令和输出,注意第二次没有空格:

[root@Hostname ~]# ps aux |  grep xscreensaver
bash:  : command not found...
[root@Hostname ~]# ps aux | grep xscreensaver
bash:  grep: command not found...
Run Code Online (Sandbox Code Playgroud)

Ste*_*itt 14

请注意bashgrep”之前的错误消息中的双空格:这可能意味着您输入了一个牢不可破的空格 ( AltGr+ space),如果您的键盘需要AltGr生成管道符号,这很容易发生。

尝试删除管道符号周围的空格:

ps aux|grep xscreensaver
Run Code Online (Sandbox Code Playgroud)

在您更新的示例中:

[root@Hostname ~]# ps aux |  grep xscreensaver
bash:  : command not found...
Run Code Online (Sandbox Code Playgroud)

bash正在尝试运行不存在的“牢不可破的空间”命令;因此,错误消息“牢不可破的空间”:找不到命令...

[root@Hostname ~]# ps aux | grep xscreensaver
bash:  grep: command not found...
Run Code Online (Sandbox Code Playgroud)

bash正在尝试运行名称为“grep”的命令,前面有一个牢不可破的空格,该空格也不存在;因此错误消息在“bash:”和“grep”之间有两个明显的空格。