Ich möchte eine sortierte Liste mit allen 8-stelligen Zahlen erstellen - von 00000000 bis 99999999. Ich habe die Shell eingegeben:
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
Antwort ist
bash: echo: write error: Interrupted system call
bash: echo: write error: Interrupted system call
bash: echo: write error: Interrupted system call
99998890
Warum habe ich diese drei Fehler und die fehlerhafte result.txt?
ich benutze
GNU Bash, Version 4.4.12 (1) -Veröffentlichung (x86_64-pc-linux-gnu)
Debian GNU / Linux 9.6 (Stretch)
Linux-Kernel: 4.19.0 # 2 SMP Do 1. November 15:31:34 EET 2018 x86_64 GNU / Linux
}
) korrekt funktioniert. @ GAD3R
konsole
Fensters verändere. Eine solche Größenänderung ist in meinem Fall fast ausreichend, aber nicht notwendig.
| tee result.txt
und bekomme trotzdem den Fehler.
/bin/echo
in meinem Fall) anstelle von echo
integrierten Funktionen machen die Funktion immun (oder zumindest weniger anfällig) für dieses Problem.
seq -w 0 99999999
.