我尝试这样做
#!/bin/bash
ftp "$HOST"$3"/"$2"/" <<EOD
#toggle Interactive mode
prompt off
lcd $5"/"$4
mget "$4"*
exit
EOD
我收到以下错误
语法错误:意外的文件结尾
当我将其更改为或任何其他可能性时
ftp "$HOST"$3"/"$2"/" <<<EOD
#toggle Interactive mode
prompt off
lcd $5"/"$4
mget "$4"*
exit
EOD
我得到了
./download.sh: line 31: 87621 Segmentation fault: 11 ftp "$HOST"$3"/"$2"/" <<< EOD
./download.sh: line 20: prompt: command not found
./download.sh: line 21: lcd: command not found
./download.sh: line 22: mget: command not found
我不知道如何解决这个问题。我该怎么做O_O
答案 0 :(得分:2)
在我的Mac上,分段错误是由脚本中的注释产生的。使用尾随#删除行将使其正常工作。
答案 1 :(得分:0)
许多交互式命令并不能很好地处理管道输入。也许试试http://www.columbia.edu/kermit/ftpscripts.html?
说,许多其他人似乎已经成功地做了你正在做的事情(例如http://www.unix.com/unix-advanced-expert-users/4189-automated-ftp.html),所以也许你只是有一个引用问题?尝试将命令(ftp "$HOST"$3"/"$2"/"
)更改为cat
以查看shell是否正确传递到此处 - doc到它?