Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 出口不';我不能在后台工作_Bash_Shell - Fatal编程技术网

Bash 出口不';我不能在后台工作

Bash 出口不';我不能在后台工作,bash,shell,Bash,Shell,pipe.sh export START=100 . ./other.sh & wait sleep 5 export END=200 other.sh export START=100 . ./other.sh & wait sleep 5 export END=200 但是我在export-p中没有看到变量END。如果我在前景中使用sourceother.sh,它仍然可以工作 export START=100 . ./other.sh 如何从后台进

pipe.sh

 export START=100
 . ./other.sh &
 wait
sleep 5
export END=200
other.sh

 export START=100
 . ./other.sh &
 wait
sleep 5
export END=200
但是我在
export-p
中没有看到变量END。如果我在前景中使用sourceother.sh,它仍然可以工作

 export START=100
 . ./other.sh 

如何从后台进程导出变量?任何解决方法?

子进程无法更改父进程环境,您需要以某种方式从父进程声明变量。例如,使用文件:

pipe.sh:

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

sleep 5
echo "export END=200"

.

您希望后台采购如何运作?我可以想象两种情况,它们都不是有用的(父进程在生成时立即从后台进程分离;或者,父进程在前台命令之间随机执行后台命令)。你想完成什么?回溯处理是如何推进这一目标的?我想知道完成回溯处理需要多少时间。我有10多个不同的进程同时启动并在后台运行。因此,我认为这种方法将有助于确定流程的时间。我愿意接受任何其他方式。谢谢。后台处理的时间安排很简单。为什么您需要它将某些内容导出回家长?您能为我提供一种更好的时间安排方式吗?我试着在网上搜索我找到了。子进程。我觉得很刺耳。谢谢