空格不出现在变量中

时间:2013-12-11 22:50:53

标签: bash shell

这是我的代码:

var="       Hello         "/n"      There       "
echo -e "$var"

但是我得到了

Hello        n         There

作为我的输出,如何使输出说

       Hello        
       There       

代替?

4 个答案:

答案 0 :(得分:3)

第一个问题是你的换行符的斜线指向错误的方式。生成换行符应该是“\ n”。你还有很多额外的引号会破坏你的字符串。没有理由在换行符之前/之后停止并重新启动字符串。

 var="   Hello\n   There"
 echo -e "$var"

...会产生你想要的东西。

答案 1 :(得分:1)

试试这个

var="\tHello\n\tThere"

答案 2 :(得分:0)

我会使用printf和数组将内容与格式

分开
var=(Hello There)
printf '\t%s\t\n' "${var[@]}"

答案 3 :(得分:0)

您还可以使用ANSI C quoted string

echo $'       Hello         /n      There       '

这样你甚至不需要-e标志:)