IFS가 공백 문자일 때 구분 기호를 병합하는 이유

IFS가 공백 문자일 때 구분 기호를 병합하는 이유

예를 들어, IFS가 이면 <tab>연속된 구분 기호는 읽기 명령에 의해 병합됩니다. 그렇지 않으면 이런 일은 일어나지 않을 것입니다. 예:

$ echo -e 'zero\tone\ttwo\tthree' | while IFS=$'\t' read -a x; do echo "${x[2]}"; done
two
$ echo -e 'zero\t\tone\ttwo\tthree' | while IFS=$'\t' read -a x; do echo "${x[2]}"; done
two
$ echo -e 'zero§one§two§three' | while IFS=§ read -a x; do echo "${x[2]}"; done
two
$ echo -e 'zero§§one§two§three' | while IFS=§ read -a x; do echo "${x[2]}"; done
one

그런데 왜 그럴까?

관련 정보