Saya mengalami kesulitan memahami apa yang terjadi ketika saya mencoba menulis ke deskriptor file? Tampaknya menimpa konten aslinya? Apakah ini perilaku yang diharapkan?
Saya telah mereplikasi ini dalam contoh di bawah ini:
$ 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 ...
Jawaban yang Diterima:
Karena Anda belum melakukan pembacaan apa pun pada deskriptor 88, posisi pencarian saat ini adalah “0”, dan penulisan terjadi pada saat itu.
Sebaliknya, jika Anda membaca file sebelumnya, maka penambahan terjadi:
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
Membuat Lebih Sedikit Mencetak Ke Stdout Jika Seluruh File Dapat Ditampilkan Pada Satu Layar?
Linux – Di Mana Semaphore Bernama Disimpan??