J'ai du mal à comprendre ce qui se passe lorsque j'essaie d'écrire dans un descripteur de fichier ? Il semble écraser le contenu d'origine ? Est-ce un comportement attendu ?
J'ai reproduit cela dans l'exemple ci-dessous :
$ 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 ...
Réponse acceptée :
Parce que vous n'aviez fait aucune lecture sur le descripteur 88, la position de recherche actuelle était "0", et donc l'écriture a eu lieu à ce point.
Si, à la place, vous aviez lu le fichier avant cela, des ajouts se produisent :
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