我有一个简单的脚本,它使用CAPDEPTH作为count变量,并为每个值调用一些测试。
#!/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的值从SCRIPT ONE传播到SCRIPT TWO。这甚至可能吗? 我已尝试在两个脚本中导出变量CAPDEPTH,但似乎不起作用。
答案 0 :(得分:1)
#!/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"
...
答案 1 :(得分:0)
内部脚本一次使用,
export CADEPTH=....
let CADEPTH=...
echo $CADEPTH
并在脚本2中,执行:
source script1
然后,
echo $CADEPTH