Chcę wygenerować posortowaną listę ze wszystkimi 8-cyfrowymi liczbami - od 00000000 do 99999999. Wpisałem powłokę:
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
odpowiedzią jest
bash: echo: write error: Interrupted system call
bash: echo: write error: Interrupted system call
bash: echo: write error: Interrupted system call
99998890
Dlaczego dostałem te trzy błędy i źle sformatowany wynik.txt?
używam
GNU bash, wersja 4.4.12 (1) -release (x86_64-pc-linux-gnu)
Debian GNU / Linux 9.6 (odcinek)
Jądro Linux: 4.19.0 # 2 SMP czw. 1 lis 15:31:34 EET 2018 x86_64 GNU / Linux
}) działa poprawnie. @ GAD3R
konsoleokna. Taka zmiana rozmiaru jest prawie wystarczająca w moim przypadku, ale nie jest konieczna.
| tee result.txti nadal pojawia się błąd.
/bin/echow moim przypadku) zamiast echowbudowanego powoduje, że funkcja jest odporna (lub przynajmniej mniej podatna) na ten problem.
seq -w 0 99999999.