【发布时间】:2014-03-09 06:11:14
【问题描述】:
我最近在使用 bash 脚本自动化 ftp 进程时发现了“here”语句。
此处文档参考:http://tldp.org/LDP/abs/html/here-docs.html
bash 脚本中的 ftp 进程需要相当长的时间,我特别想在后台运行它,并让 bash 脚本的下一行在 ftp 进程之后继续。我将如何为“此处”文档执行此操作?
FTP sn-p:
USER="test"
PASSWD="test"
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
quit
END_SCRIPT
例如:
我希望能够做到这一点:
run ftp snippet &
run other shell commands
但我不太确定将&放在哪里
到目前为止我已经尝试过:
尝试1:(我认为这在语法上不正确,不起作用):
function do_ftp() {
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
quit
END_SCRIPT
}
do_ftp &
//additional commands
尝试 2:
USER="test"
PASSWD="test"
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
quit
END_SCRIPT &
尝试 3:
USER="test"
PASSWD="test"
ftp -n $HOST & <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
quit
END_SCRIPT
【问题讨论】:
-
用
expect怎么样? -
您是否考虑过使用
wget或curl而不是ftp???