\
設定時にスペースに変換されるのはなぜですかIFS='\'
var="'(]\\{}\$\""
IFS='\'
echo $var # '(] {}$"
答え1
なぜなら、それがIFS
そうです。これは入力フィールド区切り文字で、bash は引用符で囲まれていない文字列をその文字で分割し、次のように設定します\
。
$ var="fooAbar"
$ IFS='A'
$ echo $var
foo bar
$ echo "$var"
fooAbar
\
設定時にスペースに変換されるのはなぜですかIFS='\'
var="'(]\\{}\$\""
IFS='\'
echo $var # '(] {}$"
なぜなら、それがIFS
そうです。これは入力フィールド区切り文字で、bash は引用符で囲まれていない文字列をその文字で分割し、次のように設定します\
。
$ var="fooAbar"
$ IFS='A'
$ echo $var
foo bar
$ echo "$var"
fooAbar