Ich habe versucht zu finden, wie man einen Text in eine Datei übergibt, ohne zu überschreiben, was bereits mit dem >Befehl vorhanden ist, und habe festgestellt, dass ich nicht weiß, wie er heißt. Die Suche nach Pfeil nach rechts oder rechts Sparren oder mehr als Befehl zeigte nichts auf. Ich habe es immer nur als Weitergabe bezeichnet .
quelle
noclobber
ist,>|
wird die Datei überschrieben und möglicherweise gelöscht.>
ist ein Umleitungsoperator . Beachten Sie, dass>
beim Umleiten in eine reguläre Datei die bereits vorhandenen Dateien überschrieben werden, es sei denn, noclobber ist aktiviert .>>
wird an das Ende der Datei angehängt.quelle
noclobber
gesetzt (bash).noclobber
ist nicht nur ein Bashismus. Es ist Teil von POSIXWie andere Leute geantwortet haben,
>
handelt es sich nicht um einen Befehl, sondern um einen Umleitungsoperator. Der Begriff "Umleitungsoperator" bezieht sich jedoch nicht speziell auf die>
, sondern auf eine Reihe verschiedener möglicher Umleitungsoperatoren. In derdash
Manpage sind die folgenden Umleitungsoperatoren aufgeführt:Ich bin nicht sicher, ob es für jeden einen gültigen individuellen Namen gibt. Vielleicht finden Sie etwas Interessantes, wenn Sie in alten Shell-Handbüchern stöbern. Diese Quelle , ob richtig oder falsch, hat sicherlich die Absicht, einige von ihnen zu benennen:
Aber auch:
Ich halte dies jedoch nicht für richtig, da
2
es sich eher um ein technisches Argument als um einen Teil des Betreibers handelt.Eine Kurzreferenz (falls Sie keine der oben genannten erkennen):
In
bash
dir haben auch:quelle
<<-
führenden Tabulatoren und Leerzeichen entfernen ?>
Leitet die Ausgabe an eine Datei (oder ein Gerät) um, wobei alle dort bereits vorhandenen Daten überschrieben werden>>
Leitet die Ausgabe an eine Datei (oder ein Gerät) weiter, die an bereits vorhandene Elemente angehängt wird<
Leitet Daten von einer Datei (oder einem Gerät) an ein Programm oder ein Gerät<<
ein hier dokumentquelle
<<
ist ein hier Dokument