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服务器。 我已经在网上看过很多解决方案,但事情似乎并不奏效。 请帮忙
答案 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的形式访问此处传递的变量。