我试图将一段文本捕捉到一个变量中,并保留换行符,然后将其输出。
然而,当我捕捉文本或显示文本时,换行符似乎没有被保留。
有关我如何实现这一点的任何想法吗?
示例:
#!/bin/bash read -d '' my_var <<"BLOCK" this is a test BLOCK echo $my_var
输出:
this is a test
期望输出:
this
is
a
test
问题的原因是在变量周围没有添加引号,解决方法是在变量周围添加引号。具体来说,使用echo "$my_var"来存储和输出多行内容。如果没有引号,echo命令会将输入的每一行作为独立的字符串进行解释并输出,而使用引号则会将输入作为一个包含多行的字符串进行输出。相关文档可以在'info echo'中找到。
echo "$my_var"
echo
用户名或邮箱地址
密码