Я хочу создать отсортированный список со всеми 8-значными числами - от 00000000 до 99999999. Я набрал в оболочке:
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
ответ
bash: echo: write error: Interrupted system call
bash: echo: write error: Interrupted system call
bash: echo: write error: Interrupted system call
99998890
Почему я получил эти три ошибки и искаженный файл result.txt?
я использую
GNU bash, версия 4.4.12 (1) -релиз (x86_64-pc-linux-gnu)
Debian GNU / Linux 9.6 (растянутая)
Ядро Linux: 4.19.0 # 2 SMP четверг, 1 ноября 15:31:34 EET 2018 x86_64 GNU / Linux
}) работает правильно. @ GAD3R
konsoleокна. Такое изменение размера почти достаточно в моем случае, но не обязательно.
| tee result.txt, и все еще получить ошибку.
/bin/echoв моем случае) вместо echoвстроенного делает функцию невосприимчивой (или, по крайней мере, менее склонной) к этой проблеме.
seq -w 0 99999999.