7

我正在做一些非常简单的事情,例如:v=5 echo "$v"并期望它打印5. 但是,事实并非如此。刚刚设置的值不适用于下一个命令。

最近了解到在大多数 shell 中,管道的每个命令都在单独的 SubShell 中执行”。但是,在这种情况下,两个命令都在同一个子 shell 中执行。

为什么会这样?有没有办法让这个工作?

完整示例:

$ v=1
$ v=5 echo "$v"
1                   # I expected 5!
4

0 回答 0