加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 19:05:20 所属栏目:安全 来源:网络整理
导读:我已经阅读了关于echo的手册页,它告诉我-e参数将允许转义字符(例如换行符的转义n)具有其特殊含义。当我输入命令 $ echo -e 'foonbar' 进入交互式bash shell,我得到了预期的输出: foobar 但是,当我使用相同的命令(我已尝试将此命令字符作为测试用例的字
我已经阅读了关于echo的手册页,它告诉我-e参数将允许转义字符(例如换行符的转义n)具有其特殊含义。当我输入命令
$ echo -e 'foonbar'

进入交互式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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读