コマンドがどの文字で区切るかを決める区切り文字
例だと for 文で変数の中身を一行ずつなど読み込みたいとき
IFS で指定あげると区切り文字を指定できる
hoge="aa a a b bb b d ddd" みたいな変数があるとき for hoge_check do `echo $hoge` do echo "$hoge_check" done だと aa a a b bb b d ddd
となるが
IFS=$'\n'; hoge="aa a a b bb b d ddd" for hoge_check do `echo $hoge` do echo "$hoge_check" done だと aa a a b bb b d ddd
となる区切りを IFS で改行にしたため。 デフォルトだと IFS は空白文字とか色々区切り文字に指定している。