我有一个简单的脚本,它像计数变量一样使用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"

它将多次调用另一个我也想依赖于CAPDEPTH值的shell脚本。 这是该脚本的几行内容。

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

我的问题是如何获取从“脚本一”传播到“脚本二”的CAPDETH的价值。 那有可能吗? 我已经尝试在两个脚本中导出变量CAPDEPTH,但似乎不起作用。

===============>>#1 票数: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"
...

===============>>#2 票数:0

脚本内部的一种用途,

export CADEPTH=....
let CADEPTH=...
echo $CADEPTH

然后在脚本二中执行以下操作:

source script1

接着,

echo $CADEPTH

  ask by Roman Tsegelskyi translate from so

未解决问题?本站智能推荐:

2回复

匹配git commit消息中的字符串并将其导出的shell脚本

我尝试编写一个shell脚本(bash)。 该脚本的目的是 获取上一次git commit的消息 掌握最后git commit消息的[]括号内的任何内容 将该内容导出到名为GIT_COMMIT_MESSAGE_CONTEXT的环境变量中 例: 最后的
1回复

环境变量不适用于Shell脚本中的下一个命令[重复]

这个问题已经在这里有了答案: Shell脚本设置环境变量 3个答案 我们有一个名为source.sh的shell脚本,该脚本可导出构建所需的许多ENV变量。 我试图通过在脚本中运行source.sh来访问那些ENV变量,但是即使在运行后,我也无法访问后续命令的
1回复

如何在python脚本中完成多bash脚本命令

当我在Ubuntu终端中运行这两个命令时,我得到一个变量值 1.源script.sh 2. echo $ varname 其中scripts.sh包含要定义的变量,然后在步骤2中用echo调用该变量。 如何在python脚本中完成相同操作:我尝试了以下代码 描述:
3回复

如何从bash脚本中获取文件

我正在尝试使用我的bash脚本中的环境变量来源文件,但它不起作用。 这是我的脚本( test.sh )的内容,它位于~/scripts/test.sh 。 然后我在my ~/.bashrc使用alias 。 但是当我使用我的脚本testScript ,它没有设置环境变量。
4回复

shell和环境变量之间的区别

shell和环境变量之间有什么区别? 这些变量存储在哪里?
1回复

已知壳和环境变量

env和start.env应该在任何shell中运行。 实际上,除了KORN以外,它的确起作用,env变量设置不符合我的预期。 所以看例子。 文件set.env: 文件start.sh: 我可以看到变量的打印。 但是,如果尝试在ksh下的终端中回显它,则它未定义。
1回复

在源文件中查找并替换环境变量的值

我有一个文件,其中列出了环境变量,例如 并且此文件在需要时来源于。 我想向文件添加新的环境变量(如果尚不存在)。 如何搜索此文件并为其替换/添加新值? 到目前为止,我一直在这样做: 这只是追加了一行,经过几次运行后,就有多行带有diff值的行。 我可以在运行程序后删除
2回复

Shell变量扩展-使用env调用实用程序时进行间接

我试图找出环境,(即在新环境中调用util)。 例如,在当前环境中,我的环境变量KDEDIRS = / usr并让我输入: 这将按预期输出KDEDIRS = / home / newkdedir 。 (即在新环境中调用第二个环境) 现在我想打电话说公用事业回声 这显
2回复

从.bachrc中的键/值对的.list文件设置环境变量

我想从.list (键/值)文件设置环境变量 因此,在我的.bachrc文件中,我将此文件称为: .bachrc: 问题是我的file.list包含以下变量: file.list: 因此,在运行终端程序时:它将在这些文件中引发语法错误; 所以我被迫不使用.li
1回复

设置环境变量并从Bash脚本访问

这可能是一个非常愚蠢的问题,但是如何在Bash中设置环境变量,然后在Shell脚本中访问它呢? 在bash脚本中