为什么`read` 没有获取我所有的变量?

Kev*_*vin 0 bash shell-script text-processing read

为什么下面不打印 3 2 1 6 5 4?

echo '1 2 3 4 5 6' | while read a b c; do echo result: $c b a; done
Run Code Online (Sandbox Code Playgroud)

前三个数字不是按顺序读取,反向打印,然后读取最后三个数字并反向吗?

Gui*_*ido 10

您提供了包含 6 个“单词”的一行,但您将它们读入了三个变量:a、b 和 c。第一个变量 a 被赋值为 1,第二个变量 b 被赋值为 2,而 c 将保存该行的其余部分:“3 4 5 6”。

输出是3 4 5 6 b a因为你没有写$c $b $a,而只有$c b a.

如果你写了$c $b $a,结果会是3 4 5 6 2 1