wofür steht der Bindestrich nach 'vim':
Code: Alles auswählen
tail -10 /var/log/syslog | vim -
Viele Grüße,
bumer
Code: Alles auswählen
tail -10 /var/log/syslog | vim -
Ja, so steht es zumindest in der Manpage:Steht der Bindestrich für den ersten Kanal (stdin)?
- The file to edit is read from stdin. Commands are read from stderr, which should be a tty.
Hinter dem "-" folgen keine weiteren Optionen mehr, ohne dem "-" würde vim vermutlich versuchen, die Standardeingabe als eine Abfolge von Optionen und Dateinamen zu interpretierenUnd wieso geht es nicht ohne?
Code: Alles auswählen
With no FILE, or when FILE is -, read standard input.
EXAMPLES
cat f - g
Output f's contents, then standard input, then g's
contents.
Ein weiteres Beispiel: das Shell-Builtin cd interpretiert '-' als $OLDPWDMeillo hat geschrieben:Edit: Aber nicht alle Tools verhalten sich so. Beispielsweise bedeutet ``-'' im originalen ed(1), dass die Byte-Ausgaben beim Lesen und Schreiben unterdrueckt werden. (In modernen Versionen hat man das durch ``-s'' ersetzt.) Und auch sonst, die Unterstuetzung von ``-'' zum Lesen von stdin ist eine Implementierungsentscheidung des Programms, nicht der Shell oder so.