bash用stdin读取命令

时间:2016-06-22 03:07:35

标签: bash shell command

我想阅读单行文本并拆分它们,所以我决定使用read命令。 当我这样尝试时,

$ echo 'a b c d' | while read -a VARARR ; do echo ${VARARR[@]}; done
a b c d

一切正常,但似乎while命令是多余的,所以我试过

$ echo 'a b c d' | read -a VARARR

但是,这不起作用。 为什么呢?

1 个答案:

答案 0 :(得分:0)

哦,我从here找到答案。

它说,

  

因为管道的命令在子shell中运行,无法修改父shell。因此,父shell的变量不会被修改