在使用以下内容时
read -r -d '' VAR <<EOF
first line
second line
EOF
echo "$VAR"第一行中的前导空格被修剪:
first line
second line如何回显第一行中的前导空格并获得以下内容?
first line
second line请注意,这是一个简化的示例,我需要使用here document!
发布于 2021-02-26 01:49:33
当您将read添加到您指定为参数的变量中时,IFS中的前导字符和结束字符将被视为分隔符,因此将被删除。
第一个解决方案:临时清空IFS
IFS= read -r -d '' VAR <<EOF
first line
second line
EOF
printf '%s\n' "$VAR"第二种解决方案(不可移植):不指定变量,Bash将使用默认变量REPLY
read -r -d '' <<EOF
first line
second line
EOF
printf '%s\n' "$REPLY"https://stackoverflow.com/questions/66373229
复制相似问题