我有一个简单的脚本,它使用capdepth作为计数变量,并为每个值调用一些测试。

#!/bin/bash
# SCRIPT ONE
CAPDEPTH=1
...
while [ $CAPDEPTH -lt 11 ];
do
    echo "cap depth - $CAPDEPTH"
    make test-all-basics
    let CAPDEPTH=CAPDEPTH+1
done

而且排成一行
eval "make test-all-basics"

它将对另一个shell脚本进行多次调用,我还希望根据capdepth的值进行调用。这是剧本的几行。
# SCRIPT TWO
...
R_binary="${R_HOME}/bin/exec${R_ARCH}/R"
capture_arg="--tracedir $(CAPDEPTH)"
...

我的问题是如何获得capdeth从脚本1传播到脚本2的值。有可能吗?
我在两个脚本中都尝试过导出可变capdepth,但似乎不起作用。

最佳答案

#!/bin/bash
# SCRIPT ONE
CAPDEPTH=1
...
while [ $CAPDEPTH -lt 11 ]; do
    echo "cap depth - $CAPDEPTH"
    export CAPDEPTH # Makes it so that any child process inherits the variable CAPDEPTH and anything it contains.
    make test-all-basics
    let CAPDEPTH++ # Increments CAPDEPTH by +1
done


# SCRIPT TWO
...
R_binary="${R_HOME}/bin/exec${R_ARCH}/R"
capture_arg="--tracedir $CAPDEPTH"
...

关于linux - 在Shell脚本中传播值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23177530/

10-09 15:51