Dlaczego to polecenie nie działa: „ps aux | grep xscreensaver ”

9

Nie widziałem żadnych trafień na ten temat w Google, więc pytam:

Właśnie próbowałem uruchomić to polecenie w sesji ssh, lokalne to Debian Wheezy KDE, zdalne to Fedora 21 Gnome:

ps aux | grep xscreensaver

i to jest wynik:

bash:  grep: command not found...

Nigdy wcześniej tego nie widziałem, jaka jest przyczyna?

Zaledwie kilka godzin przed aktualizacją systemu, ale nie widziałem żadnych pakietów przeznaczonych do usunięcia. W systemie jest tylko dwóch użytkowników i tylko ja instaluje lub usuwa oprogramowanie.

EDYCJA 1

Oto polecenia i dane wyjściowe skopiowane, zauważ, że po raz drugi nie ma tam miejsca:

[root@Hostname ~]# ps aux |  grep xscreensaver
bash:  : command not found...
[root@Hostname ~]# ps aux | grep xscreensaver
bash:  grep: command not found...
coś tam coś tam
źródło

Odpowiedzi:

14

Zwróć uwagę na podwójny znak bashbłędu w komunikacie o błędzie przed „ grep”: oznacza to prawdopodobnie, że wpisałeś niezniszczalną spację ( AltGr+ space), co może się zdarzyć dość łatwo, jeśli klawiatura wymaga AltGrwygenerowania symbolu potoku.

Spróbuj upuścić spacje wokół symbolu rury:

ps aux|grep xscreensaver

W zaktualizowanych przykładach:

[root@Hostname ~]# ps aux |  grep xscreensaver
bash:  : command not found...

bashpróbuje uruchomić polecenie „niezniszczalnej przestrzeni”, która nie istnieje; stąd komunikat o błędzie „niezniszczalna przestrzeń”: nie znaleziono polecenia ...

[root@Hostname ~]# ps aux | grep xscreensaver
bash:  grep: command not found...

bashpróbuje uruchomić polecenie o nazwie „grep” poprzedzone niezbywalną spacją, która również nie istnieje; stąd komunikat o błędzie z dwiema widocznymi spacjami między „bash:” i „grep”.

Stephen Kitt
źródło
Zobacz moją aktualizację, jesteś na dobrej drodze, ponieważ teraz z jakiegoś powodu to działa.
somethingSomething
2

System nie może zlokalizować Twojego greppolecenia. Spróbuj to naprawić lub dodaj pełną ścieżkę do polecenia:

ps aux | /bin/grep xscreensaver

Prawdopodobnie musisz naprawić swoją PATHzmienną.

Jherran
źródło
Tak, masz rację, twoje polecenie działa.
somethingSomething
2

próbować

 which grep

lub w razie potrzeby

whereis grep

to może dać ci pewien pomysł, jeśli grep jest tam

repzero
źródło