如果 IFS='\',为什么 echo 语句中的反斜杠会转换为空格?

如果 IFS='\',为什么 echo 语句中的反斜杠会转换为空格?

为什么\设置时会转换为空格IFS='\'

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

答案1

因为,那就是IFS做。它是输入字段分隔符,bash 将拆分该字符上不带引号的字符串,并且您已将其设置为\

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

相关内容