Mám potíže s pochopením toho, co se děje, když se pokouším zapisovat do deskriptoru souboru? Zdá se, že přepisuje původní obsah? Je toto očekávané chování?
Zopakoval jsem to v příkladu níže:
$ 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 ...
Přijatá odpověď:
Protože jste neprovedli žádné čtení deskriptoru 88, aktuální pozice hledání byla „0“, takže zápis proběhl v tomto bodě.
Pokud byste si místo toho přečetli soubor předtím, pak se připojí:
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
Méně tisku do Stdout, pokud lze celý soubor zobrazit na jedné obrazovce?
Linux – kde je uložen pojmenovaný semafor?