如何打印新行?这只会打印\n:
$ echo -e "Hello,\nWorld!"
Hello,\nWorld!
如何打印新行?这只会打印\n:
$ echo -e "Hello,\nWorld!"
Hello,\nWorld!
当前回答
Bash 4.4中添加了一个新的参数扩展,用于解释转义序列:
${parameter@operator}-E操作员展开是一个字符串,它是参数的值反斜杠转义序列扩展为$“…”引号机械装置
$ foo='hello\nworld'
$ echo "${foo@E}"
hello
world
其他回答
使用jq:
$ jq -nr '"Hello,\nWorld"'
Hello,
World
有时您可以传递由空格分隔的多个字符串,它将被解释为\n。
例如,当为多行通知使用shell脚本时:
#!/bin/bash
notify-send 'notification success' 'another line' 'time now '`date +"%s"`
对于所问的问题(不是特殊字符等),只将双引号改为单引号。
echo -e 'Hello,\nWorld!'
结果如下:
Hello,
World!
我只使用echo而不使用任何参数:
echo "Hello"
echo
echo "World"
echo $'hello\nworld'
印刷品
hello
world
$“”字符串使用ANSI C报价:
$‘string’形式的单词被特别对待。单词扩展为字符串,并按照ANSI C标准的规定替换反斜杠转义字符。