小编alg*_*olo的帖子

bash后台进程修改全局变量

我有一个全局var foo ="some value"和一个后台进程back_func,我想要后台进程来访问$ foo并修改它的值,这可以通过主进程看到.它类似于以下内容:

#!/bin/bash
foo=0

function back_func {
     foo=$(($foo+1))
     echo "back $foo"
}

(back_func) &
echo "global $foo"
Run Code Online (Sandbox Code Playgroud)

上面脚本的结果是

global 0
back 1
Run Code Online (Sandbox Code Playgroud)

我怎么能得到全局和后退的结果都是'1'?,即后台进程的修改可以返回到主进程.

variables bash subprocess background global

28
推荐指数
2
解决办法
1万
查看次数

标签 统计

background ×1

bash ×1

global ×1

subprocess ×1

variables ×1