나는 배쉬 버전 4.2.25를 실행 중이다. 여기 내 코드는 다음과 같습니다.
#!/usr/bin/env bash
string="one:two:three:four"
# without quotes
IFS=: read -ra array_1 <<< $string
for i in "${array_1[@]}"; do printf "i = [$i]\n"; done
# output:
# i = [one two three four]
# with quotes
IFS=: read -ra array_2 <<< "$string"
for i in "${array_2[@]}"; do printf "i = [$i]\n"; done
# output:
# i = [one]
# i = [two]
# i = [three]
# i = [four]
동작의 차이점은 무엇입니까?
이것은 실제로 4.3에서 부분적으로 다루어지고 4.4에서 완성 된 (?) 버그입니다. – chepner