IFS='\' の場合、echo ステートメントでバックスラッシュがスペースに変換されるのはなぜですか?

IFS='\' の場合、echo ステートメントでバックスラッシュがスペースに変換されるのはなぜですか?

\設定時にスペースに変換されるのはなぜですかIFS='\'

var="'(]\\{}\$\""
IFS='\'
echo $var # '(] {}$" 

答え1

なぜなら、それがIFSそうです。これは入力フィールド区切り文字で、bash は引用符で囲まれていない文字列をその文字で分割し、次のように設定します\

$ var="fooAbar"
$ IFS='A'
$ echo $var
foo bar
$ echo "$var"
fooAbar

関連情報