Tüm 8 basamaklı sayılarla sıralanmış bir liste oluşturmak istiyorum - 00000000'den 99999999'a. Kabuğa yazdım:
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
cevap
bash: echo: write error: Interrupted system call
bash: echo: write error: Interrupted system call
bash: echo: write error: Interrupted system call
99998890
Neden bu üç hatayı aldım ve sonuç.txt hatalı biçimlendirildi?
kullanırım
GNU bash, sürüm 4.4.12 (1) -çalışma (x86_64-pc-linux-gnu)
Debian GNU / Linux 9.6 (genişletme)
Linux çekirdeği: 4.19.0 # 2 SMP Per 1 Kas 15:31:34 EET 2018 x86_64 GNU / Linux
}) düzgün çalışıyor. @ GAD3R
konsolepenceremi yeniden boyutlandırdığımda görünürler . Böyle bir yeniden boyutlandırma benim durumumda neredeyse yeterli, ancak gerekli değil.
| tee result.txtve hala hatayı alabilirsiniz.
/bin/echoyerine harici çalıştırılabilir ( benim durumumda) echoişlevi bu konuya bağışıklık (veya en azından daha az eğilimli) yapar.
seq -w 0 99999999.