Linux bashoc+;FTP错误
我试着这么做Linux bashoc+;FTP错误,linux,macos,bash,shell,heredoc,Linux,Macos,Bash,Shell,Heredoc,我试着这么做 #!/bin/bash ftp "$HOST"$3"/"$2"/" <<EOD #toggle Interactive mode prompt off lcd $5"/"$4 mget "$4"* exit EOD #/bin/bash ftp“$HOST”$3”/“$2”/”许多交互命令不能很好地处理管道输入。也许试试 这就是说,许多其他人似乎已经成功地完成了你正在做的事情(例如
#!/bin/bash
ftp "$HOST"$3"/"$2"/" <<EOD
#toggle Interactive mode
prompt off
lcd $5"/"$4
mget "$4"*
exit
EOD
#/bin/bash
ftp“$HOST”$3”/“$2”/”许多交互命令不能很好地处理管道输入。也许试试
这就是说,许多其他人似乎已经成功地完成了你正在做的事情(例如),所以也许你只是有一个引用问题?尝试将命令(ftp“$HOST”$3”/“$2”/“
)更改为justcat
,以查看shell是否正确地将文档传递给它
如果您最终需要提供密码,这也可能有助于深入了解:在我的Mac上,分段错误是由脚本中的注释产生的。移除带有尾随的管线将使其工作。我实际上试过cat,shell确实正确通过了heredoc。我确实读过那篇文章,因为它是第一篇从谷歌返回的文章之一,但它没有什么帮助。ftp服务器根本不需要任何凭据。在这里,文档不会自动删除空白。如果您使用cat
进行尝试,然后将输出复制粘贴到ftp会话中,会怎么样?这样行吗?(只是试图隔离故障)你的re:leading space,这就是你不应该让bash进入segfault的地方。如果你能做到这一点,那么使用一个调试器来找出发生错误的地方并报告发行版上的错误可能是值得的。
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