小编use*_*311的帖子

为什么 read 内置中的 REPLY 变量会跳过空格?

echo "     a" | while read; do echo "$REPLY"; done
Run Code Online (Sandbox Code Playgroud)

将输出包含前导空格的“.....a”。然而,

echo "     a" | while read line; do echo "$line"; done
Run Code Online (Sandbox Code Playgroud)

将输出“a”,并跳过前导空格(好的,因为分词)。

看起来 REPLY 变量与 IFS 设置为 null 具有相同的效果:

echo "     a" | while IFS= read line; do echo "$line"; done
Run Code Online (Sandbox Code Playgroud)

从bash手册中我找不到原因。你有什么想法?谢谢。

bash read

5
推荐指数
1
解决办法
6736
查看次数

标签 统计

bash ×1

read ×1