我有一个bash脚本,我需要用source
启动另一个脚本。这工作正常,但我还需要传递第二个脚本参数。
示例:
source /usr/local/scripts/parallel.sh test --gnu
所以我需要使用名为parallel.sh
的给定数据源文件启动test
,并且还需要在结尾处分配参数--gnu
。但它没有识别文件和参数。
答案 0 :(得分:1)
source
command可能不是您正在寻找的。 p>
当使用源运行脚本时,它在现有shell中运行,脚本完成后,脚本创建或修改的任何变量都将保持可用。相反,如果脚本只是作为文件名运行,那么将生成一个单独的子shell(带有一组完全独立的变量)来运行脚本。
因此,除非您需要访问parallel.sh
中的变量或函数,否则只需直接调用它:
/usr/local/scripts/parallel.sh test --gnu
只要脚本可执行(chmod +x /usr/local/scripts/parallel.sh
)并设置为使用您传递的选项($1
将包含" test"和{{ 1}}将包含" - gnu")它应该可以正常工作。