例如,我有一个主shell程序main.sh
,而我有另一个subshell程序sub.sh
。我想将变量var传递给子外壳,但是我不想使用命令行参数。示例代码如下:
#In main.sh
a=1
./sub.sh
#In sub.sh
echo $a
我想查看输出:1
我知道这个问题很奇怪,但是此功能最适合我的需求。我找不到源,sub.sh
因为在实际程序中我有很多变量要传入...谢谢!
编辑:如果我sub.sh
在backgroun中运行并且需要10个小时,而我想sub.sh
在前台为另一个变量运行另一个b
呢?
您只需要多一个换行符即可:
#In main.sh
a=1 ./sub.sh
这实际上是与1_CR相同的答案,但是演示了将值传递给环境sub.sh
而不是修改当前环境以sub.sh
进行继承的技术。
由于这是对环境的逐过程修改,因此您可以根据需要重复执行。
a=1 ./sub.sh &
a=3 b=9 ./sub.sh &
的每个实例都为sub.sh
看到不同的值a
,第二个实例也为看到一个值b
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句