Merkwürdiges Verhalten des Terminal nach Eingabe von '|' (Pipe)

K

Konze

Aktives Mitglied
Thread Starter
Dabei seit
03.10.2005
Beiträge
348
Reaktionspunkte
10
Hallo zusammen,

ich habe in letzter Zeit öfters folgendes Problem, ich möchte zB eine Konfiguration ausgeben und die Zeilen filtern welche mich interessieren zB.
Code:
vim --version | grep php
(ich denke es ist klar was diese Zeile bewirken soll).

Nun kommt es häufig (aber nicht immer) vor, dass ich folgende Ausgabe vom Terminal erhalten:
Code:
-bash:  grep: command not found

Wenn ich dann zurück navigiere zur 'Pipe' und diese, sowie das darauf folgende Leerzeichen, lösche und anschließend neu eingebe funktioniert es plötzlich.

Ich habe anschließend die Zeilen kopiert und in eine Textdatei geschrieben (die Datei corrupt.txt enthält den Befehl welcher zum Fehler führt, die Datei good.txt enthält den Befehl welcher sich ohne Probleme ausführen lässt), anschließend habe ich einen hexdump durchgeführt mit den beiden Dateien:
Code:
konze$ hexdump good.txt
0000000 76 69 6d 20 2d 2d 76 65 72 73 69 6f 6e 20 7c 20
0000010 67 72 65 70 20 70 68 70 0a                     
0000019

Code:
konze$ hexdump corrupt.txt 
0000000 76 69 6d 20 2d 2d 76 65 72 73 69 6f 6e 20 7c [COLOR="#FF0000"]c2[/COLOR]
0000010 [COLOR="#FF0000"]a0[/COLOR] 67 72 65 70 20 70 68 70 0a                  
000001a
Man kann sehen, dass die 20 durch c2a0 ersetzt wurde.

Code:
hexdump -c corrupt.txt 
0000000   v   i   m       -   -   v   e   r   s   i   o   n       |   ?
0000010   ?   g   r   e   p       p   h   p  \n                        
000001a
Das Zeichen zwischen der 'Pipe' und 'grep' scheint nicht durckbar zu sein.
Ich frage mich nun ob ich mich ständig vertippe oder was hier schief läuft.

Ich verwende eine deutsche Tastatur (derzeit die eingebaute in meinem MBA), OSX ist auf englisch eingestellt. Um 'vertical bar' zu tippen verwende ich [alt]+[7].

Ich hoffe ihr könnt mir einen Tipp geben wie ich dieses Problem loswerde.

Vielen Dank und viele Grüße

konze
 
Moin,

Kann es sein das du nach dem "|" das Leerzeichen auch mit gedrückter ALT Taste tippst? Sieht zumindest schwer danach aus.

So oder so, das Leerzeichen ist überflüssig und deswegen tippt man es normal nicht.

vim --version|grep php

Dat geht schneller :)

Atti
 
  • Gefällt mir
Reaktionen: Konze und ProjectBuilder
ja, ist das typische "wir tippen so schnell, dass da alt+space statt nur space getippt wird" ...
 
es sieht danach aus, dass du nach dem Pipe-Symbol kein normales Leerzeichen tippst.
Wie du siest enthält die Zeile vor grep ein leeres Zeichen, welches offenbar kein Leerzeichen ist.
-bash: grep: command not found
Sonst würde die Zeile ja wie
-bash: abc: command not found
aussehen.


PS: Na super, im Editor kann ich das so einfügen, in der normalen Forenansicht wird dann das Zeichen vor grep automatisch entfernt.
 
Zurück
Oben Unten