posted by 귀염둥이채원 2021. 4. 23. 00:51

IFS는 Internal Field Separator의 약자로 외부프로그램을 실행할 때 입력되는 문자열을 나눌 때 기준이 되는 문자를 정의하는 변수이다.
bash의 내부 필드 구분자(internal field separator)가 공백/탭/줄바꿈이다.
구분자는 IFS 변수에 설정되어 있다.

PROGRAMMING="
java programming
python programming
c programming
"

echo "-------------------------"
for p in $PROGRAMMING; do
echo $p
done

# IFS를 줄바꿈(newline)로 변경
echo "-------------------------"
OLD_IFS="$IFS"
IFS=$'\n'
for p in $PROGRAMMING; do
echo $p
done

IFS="$OLD_IFS"
$ bash test.sh
-------------------------
java
programming
python
programming
c
programming
-------------------------
java programming
python programming
c programming

# 참고사이트
https://m31phy.tistory.com/11
https://webterror.net/?p=1716
https://wooono.tistory.com/186