本文介绍了例如printf的在bash不会创建一个新行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
与的printf
在bash脚本工作,后加入无空格\\ n
不会创建一个换行符,而加空格创建一个换行符,即摹:
-
后没有空格
\\ n
NEWLINE =`printf的\\ n`
回声-eFIRSTLINE $ {}换行符lastLine所结果:
FirstlineLastline
-
在太空
\\ n
NEWLINE =`printf的\\ n`
回声-eFIRSTLINE $ {}换行符lastLine所结果:
FIRSTLINE
lastLine所
问题:为什么没有1.创建以下结果:
FIRSTLINE
lastLine所
我知道这个具体问题可能已被周围使用其他技术工作,但我想集中1.为什么不工作。
编辑:
当代替了printf使用回声,我得到预期的结果,但为什么printf的工作方式不同?
NEWLINE =`回声\\ n`
回声-eFIRSTLINE $ {}换行符lastLine所
结果:
FIRSTLINE
lastLine所
解决方案
倒引号操作者除去尾随新行。请参阅 3.4.5。命令替换是在
上编辑的问题注意
比较:
[阿尔瓦罗@本地〜] $ printf的\\ n[阿尔瓦罗@本地〜] $回声\\ n
\\ n
[阿尔瓦罗@本地〜] $回声-e\\ n
[阿尔瓦罗@本地〜] $
echo命令不会将 \\ n
作为新行,除非你告诉他这样做的:
NAME
回声 - 显示一行文字
[...]
-e使反斜杠逃逸间pretation
POSIX 7条规定这种行为 rel=\"nofollow\">:
这篇关于例如printf的在bash不会创建一个新行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!