一回地面处理出口不工作(Export doesnt work for a back ground p

2019-10-17 05:42发布

pipe.sh

 export START=100
 . ./other.sh &
 wait

other.sh

sleep 5
export END=200

但我没有看到在“出口-p”变量结束。 但是我看它是否改变pipe.sh到

 export START=100
 . ./other.sh 

如何导出从后台进程的变量? 任何变通?

Answer 1:

子进程不能改变父母的环境中,你需要以某种方式宣布从父变量。 例如使用一个文件:

pipe.sh:

export START=100
. ./other.sh > tmp &
wait
source tmp
rm tmp 
echo $END

other.sh:

sleep 5
echo "export END=200"

也看到这个答案 。



文章来源: Export doesnt work for a back ground process
标签: bash shell