在此处的字符串中添加新行

在此处的字符串中添加新行

如何在里面添加换行符这里的字符串
觉得很有用。
例如:

gpg -e <<< 'login: my_login\npassword: my_password'

-e我知道echo

答案1

在 Bash 中你可以使用ANSI-C 引用

形式的单词$'string'将受到特殊处理。单词将扩展为string,并按照 ANSI C 标准的规定替换反斜杠转义字符。

例子:

cat <<< $'foo\nbar'

输出为:

foo
bar

也可以使用明确的换行符;您需要将其引用:

cat <<< "foo
bar"

笔记:

  • 此处字符串的机制会自动在字符串末尾添加一个换行符。这是设计使然,您无法关闭此功能。

  • 我不知道gpg,也无法判断您尝试传递的字符串是否有意义。

  • 要传递多行语法这里的文件可能是更好的选择。例如:

    cat << EOF
    foo
    bar
    EOF
    

相关内容