如何调用一个shell脚本,并从另一个shell脚本传递参数(How to call a shell

2019-08-06 16:20发布

我是从另一个shell脚本中调用一个shell脚本和调用的脚本需要一些输入(命令行)参数。
我已经下文提到的代码,但那不是工作。 我不知道为什么参数值不传递给调用的脚本。

script1.sh
=======================================
#!/bin/bash
ARG1="val1"
ARG2="val2"
ARG3="val3"
. /home/admin/script2.sh "$ARG1" "$ARG2" "$ARG3"


script2.sh
=======================================
#!/bin/bash
echo "arg1 value is: $1 ....."
echo "arg2 value is: $2 ....."
echo "arg3 value is: $3 ....."

但是,当我执行script1.sh我得到以下结果:

arg1 value is:  .....
arg2 value is:  .....
arg3 value is:  .....

我在想什么?

Answer 1:

通过采购与第二脚本. /home/admin/script2.sh . /home/admin/script2.sh ,你有效地把它放置在第一个脚本,所以你得到的命令行参数的原始脚本$@ 。 如果你真的想调用带参数的其他脚本,然后做

/home/admin/script2.sh "$ARG1" "$ARG2" "$ARG3"

(确保它的可执行文件)。



文章来源: How to call a shell script and pass argument from another shell script
标签: shell unix