我听说printf比echo. 根据我的经验,我只能回忆起一个我不得不使用的实例,printf因为它echo无法将一些文本输入到 RHEL 5.8 上的某个程序中,但printf确实如此。但显然,还有其他差异,我想询问它们是什么以及是否有特定情况下何时使用一种与另一种。
与 echo 一起使用的 -e 开关使其能够理解转义序列,如下所示:
[root@localhost~]# echo -e 'hello\b\bhi'
helhi
[root@localhost~]#
Run Code Online (Sandbox Code Playgroud)
但是,转义序列似乎在下面的代码段中被跳过了:
[root@localhost~]# echo -e 'hello\b\b'
hello
[root@localhost~]#
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助理解上述代码片段的行为吗?
当上面相同的代码片段与“-n”开关结合执行时,它起作用了!(当然,使用 -n 行为删除换行符)
[root@localhost~]# echo -n -e 'hello\b\b'
hel[root@localhost~]#
Run Code Online (Sandbox Code Playgroud)
问候