echo输出-b参数在bash脚本中。我怎么能阻止这个?

前端之家收集整理的这篇文章主要介绍了echo输出-b参数在bash脚本中。我怎么能阻止这个?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经阅读了关于echo的手册页,它告诉我-e参数将允许转义字符(例如换行符的转义n)具有其特殊含义。当我输入命令
$ echo -e 'foo\nbar'

进入交互式bash shell,我得到了预期的输出

foo
bar

但是,当我使用相同的命令(我已尝试将此命令字符作为测试用例的字符)时,我得到以下输出

-e foo
 bar

这就好像echo将-e解释为一个参数(因为换行符仍然显示),但它也将-e解释为一个回显的字符串。这里发生了什么?如何防止-e出现?

您需要使用#!/ bin / bash作为脚本中的第一行。如果不这样做,或者使用#!/ bin / sh,则脚本将由Bourne shell运行,并且其echo不识别-e选项。通常,如果可移植性很重要,建议所有新脚本使用printf而不是echo。

在Ubuntu中,sh由符号链接提供给/ bin / dash。

原文链接:https://www.f2er.com/bash/387275.html

猜你在找的Bash相关文章