如何打印新行?这只会打印\n:
$ echo -e "Hello,\nWorld!"
Hello,\nWorld!
如何打印新行?这只会打印\n:
$ echo -e "Hello,\nWorld!"
Hello,\nWorld!
当前回答
对于所问的问题(不是特殊字符等),只将双引号改为单引号。
echo -e 'Hello,\nWorld!'
结果如下:
Hello,
World!
其他回答
对于所问的问题(不是特殊字符等),只将双引号改为单引号。
echo -e 'Hello,\nWorld!'
结果如下:
Hello,
World!
改用printf:
printf "hello\nworld\n"
printf在不同环境中的表现比echo更一致。
您还可以执行以下操作:
echo "hello
world"
这在脚本内部和命令行中都有效。
在命令行上,按Shift+Enter键在字符串内进行换行。
这适用于我的macOS和Ubuntu 18.04(仿生海狸)系统。
str='hello\nworld'
$ echo | sed "i$str"
hello
world
其他解决方案:
在某些情况下,您必须回显多行长内容(例如代码/配置)
例如:
生成代码/配置的Bash脚本
echo-e,printf可能有一些限制
您可以使用一些特殊字符作为占位符作为换行符(例如~),并在使用tr创建文件后替换它:
echo ${content} | tr '~' '\n' > $targetFile
它需要调用另一个程序(tr),这应该很好,IMO。