Ich habe Schwierigkeiten zu verstehen, was passiert, wenn ich versuche, in einen Dateideskriptor zu schreiben? Es scheint den ursprünglichen Inhalt zu überschreiben? Ist das erwartetes Verhalten?
Ich habe dies im folgenden Beispiel repliziert:
$ echo "The quick brown fox ..." > example.txt
$ echo "The quick brown fox ..." >> example.txt
$ cat example.txt
The quick brown fox ...
The quick brown fox ...
$ exec 88<>example.txt
$ cat example.txt
The quick brown fox ...
The quick brown fox ...
$ echo "jumped" >&88
$ cat example.txt
jumped
ck brown fox ...
The quick brown fox ...
$ echo "jumped" >&88
$ cat example.txt
jumped
jumped
n fox ...
The quick brown fox ...
Akzeptierte Antwort:
Da Sie den Deskriptor 88 nicht gelesen hatten, war die aktuelle Suchposition „0“, und der Schreibvorgang fand an diesem Punkt statt.
Wenn Sie die Datei stattdessen vorher gelesen haben, werden Anhänge ausgeführt:
bash-4.2$ cat <&88
The quick brown fox ...
The quick brown fox ...
bash-4.2$ echo hello >&88
bash-4.2$ cat example.txt
The quick brown fox ...
The quick brown fox ...
hello
bash-4.2$ echo more >&88
bash-4.2$ cat example.txt
The quick brown fox ...
The quick brown fox ...
hello
more