【发布时间】:2011-02-10 05:09:54
【问题描述】:
在 bash 脚本中使用 printf,在 "\n" 之后不添加空格不会创建换行符,而添加空格会创建换行符,例如。 g.:
-
"\n"后面没有空格NewLine=`printf "\n"` echo -e "Firstline${NewLine}Lastline"结果:
FirstlineLastline -
"\n "后面的空格NewLine=`printf "\n "` echo -e "Firstline${NewLine}Lastline"结果:
Firstline Lastline
问题:为什么不 1. 创建以下结果:
Firstline
Lastline
我知道可以使用其他技术解决这个特定问题,但我想重点说明为什么 1. 不起作用。
编辑: 当使用 echo 而不是 printf 时,我得到了预期的结果,但为什么 printf 的工作方式不同?
NewLine=`echo "\n"`
echo -e "Firstline${NewLine}Lastline"
结果:
Firstline
Lastline
【问题讨论】: