Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash变量占用多个空格,并将它们转换为一个_Bash_Escaping_Var - Fatal编程技术网

bash变量占用多个空格,并将它们转换为一个

bash变量占用多个空格,并将它们转换为一个,bash,escaping,var,Bash,Escaping,Var,这是怎么回事? 为什么要将乘法空格变成一?如何保留所有?您只是缺少变量周围的引号。将代码更改为: # export var="many spaces"; echo =${var}= =many spaces= 应该给出你想要的结果。bash的一个“特性”是分词,它基于IFS(internalfieldseparator)变量的值。通常,IFS默认为 $ export var="many spaces"; echo ="${var}"= =many spaces=

这是怎么回事?
为什么要将乘法空格变成一?如何保留所有?

您只是缺少变量周围的引号。将代码更改为:

# export var="many      spaces"; echo =${var}=
=many spaces=
应该给出你想要的结果。bash的一个“特性”是分词,它基于IFS(internalfieldseparator)变量的值。通常,IFS默认为

$ export var="many      spaces"; echo ="${var}"=
=many      spaces=

因此,在引用包含空格、制表符和换行符的变量时需要小心。

在回显so
echo“=${var}=“
是空格吗?”?还是tab?检查这里。这一点已经得到了回答
IFS=$' \t\n'