출력하려고 하는데 a,b,c
,
이것은 작동하지 않습니다:
a=(a b c)
IFS=, echo "${a[*]}"
하지만 이것은 작동합니다:
a=(a b c)
IFS=,
echo "${a[*]}"
첫 번째 것이 왜 작동하지 않는지 아는 사람이 있습니까?
답변1
변수가 확장되었기 때문입니다.앞으로IFS의 새 값이 실제로 설정됩니다. 이에 대한 설명은 다음과 같습니다.https://www.gnu.org/software/bash/manual/bash.html#Simple-Command-Expansion
현재 쉘에 영향을 주지 않고 값을 설정하려면 서브쉘을 사용하십시오.
(IFS=,; echo "${a[*]}")