【问题标题】:bash's read command with stdin [duplicate]bash的带有标准输入的读取命令[重复]
【发布时间】:2016-10-23 19:03:42
【问题描述】:

我想读取一行文本并将它们拆分,所以我决定使用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

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

【问题讨论】:

标签: bash shell command


【解决方案1】:

哦,我从here找到了答案。

上面写着,

因为管道的命令在无法修改父 shell 的子 shell 中运行。结果是没有修改父shell的变量

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多