pipe.sh
export START=100
. ./other.sh &
wait
other.sh
sleep 5
export END=200
但是我没有在“export -p”中看到变量END。但是如果将pipe.sh改为
,我确实看到了 export START=100
. ./other.sh
如何从后台进程导出变量?有什么工作吗?
答案 0 :(得分:2)
子进程无法更改父进程环境,需要以某种方式从父进程声明变量。例如,使用文件:
pipe.sh:
export START=100
. ./other.sh > tmp &
wait
source tmp
rm tmp
echo $END
other.sh:
sleep 5
echo "export END=200"