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。