Je veux générer une liste triée avec tous les nombres à 8 chiffres - de 00000000 à 99999999. J'ai tapé dans le shell:
f() {
while IFS="" read -r line; do
for i in {0..9}; do
echo "$line$i";
done;
done
}
echo | f | f | f | f | f | f | f | f | tee result.txt | wc -l
la réponse est
bash: echo: write error: Interrupted system call
bash: echo: write error: Interrupted system call
bash: echo: write error: Interrupted system call
99998890
Pourquoi ai-je ces trois erreurs et result.txt malformé?
j'utilise
GNU bash, version 4.4.12 (1) -release (x86_64-pc-linux-gnu)
Debian GNU / Linux 9.6 (stretch)
Noyau Linux: 4.19.0 # 2 SMP jeu 1 nov 15:31:34 EET 2018 x86_64 GNU / Linux
}) fonctionne correctement. @ GAD3R
konsolefenêtre. Un tel redimensionnement est presque suffisant dans mon cas, mais pas nécessaire.
| tee result.txt, et toujours obtenir l'erreur.
/bin/echodans mon cas) au lieu de echola fonction intégrée rend la fonction immunisée (ou du moins moins sujette) à ce problème.
seq -w 0 99999999.