从主bash脚本启动另一个bash脚本

时间:2016-03-09 12:55:23

标签: linux bash shell

我有一个bash脚本,我需要用source启动另一个脚本。这工作正常,但我还需要传递第二个脚本参数。

示例:

source /usr/local/scripts/parallel.sh test --gnu

所以我需要使用名为parallel.sh的给定数据源文件启动test,并且还需要在结尾处分配参数--gnu。但它没有识别文件和参数。

1 个答案:

答案 0 :(得分:1)

source command可能不是您正在寻找的。

  

当使用源运行脚本时,它在现有shell中运行,脚本完成后,脚本创建或修改的任何变量都将保持可用。相反,如果脚本只是作为文件名运行,那么将生成一个单独的子shell(带有一组完全独立的变量)来运行脚本。

因此,除非您需要访问parallel.sh中的变量或函数,否则只需直接调用它:

/usr/local/scripts/parallel.sh test --gnu

只要脚本可执行(chmod +x /usr/local/scripts/parallel.sh)并设置为使用您传递的选项($1将包含" test"和{{ 1}}将包含" - gnu")它应该可以正常工作。