与工作printf在bash脚本,加入无空格后"\n"不创建换行符,而添加的空间中形成一个换行符,E.G.:
之后没有空间 "\n"
NewLine=`printf "\n"`
echo -e "Firstline${NewLine}Lastline"
Run Code Online (Sandbox Code Playgroud)
结果:
FirstlineLastline
Run Code Online (Sandbox Code Playgroud)之后的空间 "\n "
NewLine=`printf "\n "`
echo -e "Firstline${NewLine}Lastline"
Run Code Online (Sandbox Code Playgroud)
结果:
Firstline
Lastline
Run Code Online (Sandbox Code Playgroud)问题:为什么不1.创建以下结果:
Firstline
Lastline
Run Code Online (Sandbox Code Playgroud)
我知道这个特定的问题本来可以使用其他技术,但我想关注为什么1.不起作用.
编辑:当使用echo而不是printf时,我得到了预期的结果,但为什么printf的工作方式不同?
NewLine=`echo "\n"`
echo -e "Firstline${NewLine}Lastline"
Run Code Online (Sandbox Code Playgroud)
结果:
Firstline
Lastline
Run Code Online (Sandbox Code Playgroud)