使用动态路径从另一个bash脚本调用bash脚本

时间:2017-10-12 12:18:25

标签: linux bash shell

我有一个名为os的函数,用于确定正在使用的操作系统。据此,我调用来自不同文件夹的脚本(例如redhat / foo.sh,ubuntu / foo.sh等)

现在,我只是引用脚本的路径来调用脚本,如下所示:ubuntu/foo.sh它运行正常。但是,当我像这样使用我的功能时:

"$(os)"/foo.sh

我收到此错误:

  

./ script.sh:line 28:" $(os)" /foo.sh:没有这样的文件或目录

它正在接听os作为字面意思的电话。我不确定如何正确地连接到外部脚本调用并使其工作。

我的功能最后没有使用return,它使用echo输出值,我假设使用$()会抓住它。

有关如何正确连接我的函数以调用我的脚本的帮助将不胜感激。

编辑:我在 SLES 12 SP3 中尝试了这一点。

1 个答案:

答案 0 :(得分:0)

直接致电$($(os)/foo.sh)

或者存储在新变量var="$(os)/foo.sh"中,然后使用eval $var

进行评估