grep: comando non trovato [duplicato]


18

Questa domanda ha già una risposta qui:

Questo è un comportamento molto strano. Ultimamente, ogni volta che sto cercando di trovare un processo su console con ps aux | grep foo, viene restituito un grep: command not found. Ok, potrebbe essere qualcosa che ho cambiato e fatto di sbagliato, ma il problema è che, dopo alcuni tentativi, improvvisamente sa cos'è grep:

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

Qualche idea sul perché questo accada?

Come suggerito, questo è quello che ottengo quando un invio type grepdopo entrambi, quello che non funziona e quello che funziona:

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

Strano. Digitare nuovamente il comando ogni volta o scorrere semplicemente indietro nella cronologia dei comandi?
— Nohillside

Stavo per scriverlo. Quando scorro indietro non funziona. Se lo riscrivo, non funziona neanche. Ma se scorro indietro ed elimino grepil tubo e, alla fine funziona. O_O
— make Martedì

Risposte:


36

Guardando il tuo output, sembra esserci uno spazio extra prima grepnel messaggio di errore. Presumo che questo provenga da un tasto ancora premuto Opt/Altdopo aver digitato il simbolo della pipe (quindi in pratica stai scrivendo Opt- Spaceinvece che semplicemente Space). Prova ps aux |grep foo(senza uno spazio tra il tubo e il g).


2
Ecco fatto: D Normalmente, utilizzo emacs, e lì quando scrivo accidentalmente Opt + Space posso vedere qualcosa di simile a _. Quindi nel terminal mi mancava proprio quello. Grazie :)
— MakeMonday

Oh mio Dio .. mi è successo così spesso e questo è stato semplicemente. che stupido!
— Marc-Alexandre Bérubé,

questo è successo così tante volte a me, grazie mille per la tua risposta, lo apprezzo molto, sarò sicuro di scrivere | grep da ora in poi !! Mi sto chiedendo questo da anni!
— esaruoho,

6

La mia risposta può sembrare strana, ma ho avuto questo effetto anche con una vecchia tastiera quando ho digitato troppo velocemente. Prova a digitarlo di nuovo, muoviti con il cursore prima della lettera "g" di grep, elimina lo spazio bianco che avrebbe potuto essere inserito con un tasto ancora premuto ALT/Option, premi di nuovo il tasto spazio e accendi la tua riga di comando.

Un'altra soluzione alternativa consiste nel ridurre la frequenza di ripetizione della tastiera in Preferenze di Sistema, se non si digita con dieci dita. :-)


Questo è stato! @patrix ha suggerito anche questo. Stupido da parte mia per non essermi accorto, ma a volte voglio solo scrivere troppo in fretta. Grazie.
— make Martedì
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.