Saya ingin membuat daftar yang diurutkan dengan semua angka 8-digit - dari 00000000 hingga 99999999. Saya mengetikkan 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
jawabannya adalah
bash: echo: write error: Interrupted system call
bash: echo: write error: Interrupted system call
bash: echo: write error: Interrupted system call
99998890
Mengapa saya mendapatkan ketiga kesalahan ini dan result.txt salah bentuk?
saya menggunakan
GNU bash, versi 4.4.12 (1) -release (x86_64-pc-linux-gnu)
Debian GNU / Linux 9.6 (peregangan)
Kernel Linux: 4.19.0 # 2 SMP Kamis 1 Nov 15:31:34 EET 2018 x86_64 GNU / Linux
}) berfungsi dengan benar. @ GAD3R
konsolejendela saya . Mengubah ukuran seperti itu hampir cukup dalam kasus saya, namun tidak perlu.
| tee result.txt, dan masih mendapatkan kesalahan.
/bin/echodalam kasus saya) bukannya echobuiltin membuat fungsi kebal (atau setidaknya kurang rentan) untuk masalah ini.
seq -w 0 99999999.