这是一个例子:
bash-4.2$ export i=0
bash-4.2$ while :; do let i=i+1; done &
[1] 29668
bash-4.2$ echo $i
0
bash-4.2$ kill %1
bash-4.2$ exit
在这里,我开始的工作不断增加$i
,但只是作为一个局部变量。我知道在 bash 中没有指针或引用之类的东西,所以我的问题是如何做到这一点?
如果有可能,那么这意味着可以同时在多个线程中访问和写入一个变量,这就是我想要实现的。有没有办法防止关键部分(在 shell/bash 中)出现内存读/写问题?