grep: Befehl nicht gefunden [duplizieren]

19

Dies ist ein sehr seltsames Verhalten. Wenn ich in letzter Zeit versuche, einen Prozess auf der Konsole mit zu finden ps aux | grep foo, wird a zurückgegeben grep: command not found. Ok, das könnte etwas sein, das ich geändert und falsch gemacht habe, aber das Problem ist, dass es nach ein paar Versuchen plötzlich weiß, was grepist:

MM:.dev$ ps aux | grep foo
-bash:  grep: command not found
MM:.dev$ ps aux | grep foo
-bash:  grep: command not found
MM:.dev$ ps aux | grep foo
-bash:  grep: command not found
MM:.dev$ ps aux | grep foo
MM            70953   0,0  0,0  2699108    744   ??  Ss   10:32AM   0:08.77 foo bar
MM             3756   0,0  0,0  2423356    204 s004  R+   10:12AM   0:00.00 grep foo

Irgendwelche Ideen, warum das passiert?

Wie vorgeschlagen, ist dies das, was ich erhalte, wenn eine Eingabe type grepnach beiden erfolgt, der eine fehlerhaft und der eine funktionierend:

MM:.dev$ ps aux | grep foo
-bash:  grep: command not found
MM:.dev$ type grep
grep is /usr/bin/grep
MM:.dev$ ps aux | grep foo
MM             5694   0,0  0,0  2433796    676 s006  S+   10:47AM   0:00.00 grep foo
MM:.dev$ type grep
grep is /usr/bin/grep
makeMonday
quelle
Seltsam. Geben Sie den Befehl jedes Mal neu ein oder blättern Sie einfach in der Befehlsübersicht zurück?
Nohillside
Das wollte ich gerade schreiben. Wenn ich zurück scrolle, funktioniert es nicht. Wenn ich es zurückschreibe, funktioniert es auch nicht. Aber wenn ich zurück scrolle und die grepund die Pipe lösche , funktioniert es schließlich. O_O
makeMonday

Antworten:

38

Wenn Sie sich Ihre Ausgabe ansehen, scheint grepdie Fehlermeldung ein zusätzliches Leerzeichen zu enthalten . Ich gehe davon aus, dass dies von einer noch gedrückten Opt/AltTaste kommt, nachdem Sie das Pipe-Symbol eingegeben haben (Sie tippen also im Grunde genommen Opt- Spaceanstatt nur Space). Versuchen Sie es ps aux |grep foo(ohne Zwischenraum zwischen Rohr und g).

nohillside
quelle
2
Das war's: D Normalerweise verwende ich Emacs, und wenn ich versehentlich Opt + Space eingebe, sehe ich etwas Ähnliches _. Also im Terminal hat mir das einfach gefehlt. Danke :)
makeMonday
Oh mein Gott .. passierte mir so oft und das war es einfach. Wie albern!
Marc-Alexandre Bérubé
Das ist mir schon so oft passiert. Vielen Dank für Ihre Antwort. Schätzen Sie es wirklich. Ich werde | grep von jetzt an tippen! Ich habe mich über dieses Jahr gewundert!
Esaruoho
6

Meine Antwort mag seltsam klingen, aber ich hatte diesen Effekt auch mit einer alten Tastatur, als ich zu schnell tippte. Versuchen Sie es einfach noch einmal, bewegen Sie den Cursor vor den Buchstaben "g" von grep, löschen Sie das Leerzeichen, das mit einer noch gedrückten ALT/OptionTaste eingegeben werden konnte, drücken Sie die Leertaste erneut und starten Sie die Befehlszeile.

Eine andere Problemumgehung besteht darin, die Tastaturwiederholungsrate in den Systemeinstellungen zu verringern, wenn Sie nicht mit zehn Fingern tippen. :-)

Garex
quelle
Das war's! @ Matrix schlug das auch vor. Blöd von mir, dass ich es nicht realisiert habe, aber manchmal möchte ich einfach zu schnell tippen. Vielen Dank.
makeMonday