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
これら3つのエラーと不正な形式のresult.txtが表示されるのはなぜですか?
私が使う
GNU bash、バージョン4.4.12(1)-release(x86_64-pc-linux-gnu)
Debian GNU / Linux 9.6(ストレッチ)
Linuxカーネル:4.19.0#2 SMP Thu Nov 1 15:31:34 EET 2018 x86_64 GNU / Linux
})正しく機能するためです。@ GAD3R
konsoleウィンドウのサイズを変更すると、よく表示されます。私の場合、そのようなサイズ変更はほぼ十分ですが、必ずしも必要ではありません。
| tee result.txtもエラーが発生します。
/bin/echo代わりに外部実行可能ファイル(私の場合)を使用echoすると、この問題の影響を受けなくなります(または、少なくとも発生しにくくなります)。
seq -w 0 99999999。