当前位置:  开发笔记 > 编程语言 > 正文

echo"-e"不会打印任何内容

如何解决《echo"-e"不会打印任何内容》经验,为你挑选了3个好方法。

我正在使用GNU bash,版本3.00.15(1)-release(x86_64-redhat-linux-gnu).这个命令:

echo "-e" 

不打印任何东西.我想这是因为"-e"是echo命令的有效选项之一,因为echo"-n"和echo"-E"(其他两个选项)也产生空字符串.

问题是如何为echo获取自然输出("-e")的序列"-e".



1> nanaya..:

打印任意字符串的唯一方法:

printf "%s" "$vars"



2> 小智..:

这是困难的一个 ;)

通常你会使用双破折号告诉命令它应该停止解释选项,但echo只输出那些:

$ echo -- -e
-- -e

您可以使用-e本身来解决问题:

$ echo -e '\055e'
-e

另外,正如其他人所指出的,如果你不坚持使用bash内置echo,你的/bin/echo二进制文件可能是该工具的GNU版本(查看手册页),从而理解POSIXLY_CORRECT环境变量:

$ POSIXLY_CORRECT=1 /bin/echo -e
-e


@dma_k:适合我(tm).make(1)不使用您正在使用的$ SHELL内置,因此它的行为会有所不同.

3> Stephen Darl..:

可能有更好的方法,但这有效:

printf -- "-e\n"


@wheleph你忽略了"-e \n"之前的" - ".这将选项与参数分开.这是最好的,便携式(跨壳)答案.+1.
推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有