Considérez la commande suivante:
bash -c "echo x; cat 1" | tee 1.
Ma compréhension est qu'il se bifurquerait vers un nouveau shell, écrirait xsur stdout, écrirait file 1 not foundsur stderr, quitterait et retournerait le contrôle au processus parent, et écrirait xsur stdout et vers 1. Par conséquent, je m'attendrais à ce que la sortie finale soit x, et le fichier 1contient exactement la chaîne x.
Cependant, ce n'est pas le cas. En réalité, le fichier 1contient généralement au moins deux instances x, et parfois des milliers de lignes de xs. Lors d'un test par lots d'exécution de la commande dix mille fois, le nombre moyen de xs écrits dans le fichier était de 52,3 et la médiane était de 1. Quel mécanicien est à l'origine de cela? Quelle distribution de probabilité modélise ce comportement? Je soupçonne qu'il est conditionnellement géométrique et autrement uniforme.
xs écrits dans le fichier était de 4,35. Je suppose que cela dépendra beaucoup de la charge de la machine.
teea ouvert le fichier pour l'écriture avant de l'catouvrir pour la lecture, vous pouvez obtenir plusieursx-es dans le fichier. Dans ce cas, la "boucle" se terminait chaque fois que lacatlecture était plus rapide que l'teeécriture, atteignant la fin du fichier.