00000000에서 99999999까지의 모든 8 자리 숫자로 정렬 된 목록을 생성하려고합니다. 쉘에 입력했습니다.
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
이 세 가지 오류가 발생하고 결과가 잘못되었습니다.
나는 사용한다
GNU bash, 버전 4.4.12 (1)-릴리스 (x86_64-pc-linux-gnu)
데비안 GNU / 리눅스 9.6 (스트레치)
리눅스 커널 : 4.19.0 # 2 SMP Thu 11 월 1 일 15:31:34 EET 2018 x86_64 GNU / Linux
})가 올바르게 작동하기 때문입니다. @ GAD3R
konsole창 크기를 조정할 때 종종 나타납니다 . 필자의 경우에는 이러한 크기 조정이 거의 충분하지만 필요하지는 않습니다.
| tee result.txt여전히 오류가 발생합니다.
/bin/echo대신 외부 실행 파일 ( 제 경우) echo은이 문제에 면역 기능 (또는 최소한 덜 취약한)을 만듭니다.
seq -w 0 99999999입니다.