有一个简单的代码来演示这个问题:
[kan@altegom ~]$ ( A=1; ls | if true; then A=2; fi; echo $A; )
1
我期望 output 2
,但是因为if
在管道中执行(我认为它实例化了一个新的 shell),所以变量赋值是不可见的。
如何从管道中更改变量?
有一个简单的代码来演示这个问题:
[kan@altegom ~]$ ( A=1; ls | if true; then A=2; fi; echo $A; )
1
我期望 output 2
,但是因为if
在管道中执行(我认为它实例化了一个新的 shell),所以变量赋值是不可见的。
如何从管道中更改变量?