echo hello | read str echo $str
没有回音,而我认为str应该包含字符串你好。任何人都可以帮助我理解这种行为吗?
>在subshell中移动脚本的其余部分:
echo hello | { read str echo $str }
>或使用命令替换来获取变量的值从子shell
str=$(echo hello) echo $str
或一个稍微复杂的例子
str=$(ls | { read a; read a; echo $a; }) echo $str