首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用read从here-document中读取内容时保留前导空格?

如何在使用read从here-document中读取内容时保留前导空格?
EN

Stack Overflow用户
提问于 2021-02-26 01:11:57
回答 1查看 35关注 0票数 0

在使用以下内容时

代码语言:javascript
复制
read -r -d '' VAR <<EOF
  first line
  second line
EOF
echo "$VAR"

第一行中的前导空格被修剪:

代码语言:javascript
复制
first line
  second line

如何回显第一行中的前导空格并获得以下内容?

代码语言:javascript
复制
  first line
  second line

请注意,这是一个简化的示例,我需要使用here document

EN

回答 1

Stack Overflow用户

发布于 2021-02-26 01:49:33

当您将read添加到您指定为参数的变量中时,IFS中的前导字符和结束字符将被视为分隔符,因此将被删除。

第一个解决方案:临时清空IFS

代码语言:javascript
复制
IFS= read -r -d '' VAR <<EOF
  first line
  second line
EOF
printf '%s\n' "$VAR"

第二种解决方案(不可移植):不指定变量,Bash将使用默认变量REPLY

代码语言:javascript
复制
read -r -d '' <<EOF
  first line
  second line
EOF
printf '%s\n' "$REPLY"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66373229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档