在脚本中调用shell脚本

时间:2016-12-13 12:18:56

标签: linux shell

Below are my two script codes:
**a.sh**

#!/bin/sh

SRC_PATH="/xx/xxxx"
HOST='ftp.xxx.xxx.com'
USER='xxxx'
PASS='xxx'
FTP_SRC_PATH='out'

**b.sh** 
#!/bin/sh

/xx/xxx/a.sh

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASS
binary
prompt off
cd $FTP_SRC_PATH
lcd $SRC_PATH
mget IMS_*.ZIP
bye
END_SCRIPT

我的问题是当我运行b.sh时,它不会调用a.sh并使用其中定义的变量连接到ftp服务器。 我已经在网上看过很多解决方案,但事情似乎并不奏效。 请帮忙

3 个答案:

答案 0 :(得分:1)

您可以使用dot命令包含a.sh

. /xx/xxx/a.sh

答案 1 :(得分:-1)

您可以从b中调用脚本a,如下所示:

sh ./a.sh

确保两个shell脚本位于同一文件路径中。此外,您可以按如下方式在脚本中传递值:

sh ./a.sh $ d $ e

此处传递的值可以作为$ 1 $ 2访问。

答案 2 :(得分:-1)

以下是一个例子:

a.sh:

!/斌/庆典

yourvalue="test"
sh ./b.sh $yourvalue

我可以在shell脚本b中以$ 1的形式访问此处传递的变量。