在shell脚本中处理FTP错误
我正在尝试从另一个shell脚本(父脚本)调用的shell脚本执行ftp。代码如下所示:在shell脚本中处理FTP错误,shell,Shell,我正在尝试从另一个shell脚本(父脚本)调用的shell脚本执行ftp。代码如下所示: ftp -inv <<EOF open $hostname user $username $password binary cd $dir put $renamed_file bye EOF 即使ftp失败,它也始终返回0。我不熟悉shell脚本,正在努力解决这个问题。有人能帮我吗 谢谢 如果查看bash(或任何shell)的退出状态,就不会得到想要的响应。Bash认为该命令运行得很
ftp -inv <<EOF
open $hostname
user $username $password
binary
cd $dir
put $renamed_file
bye
EOF
即使ftp失败,它也始终返回0。我不熟悉shell脚本,正在努力解决这个问题。有人能帮我吗
谢谢 如果查看bash(或任何shell)的退出状态,就不会得到想要的响应。Bash认为该命令运行得很好——即使它确实是一个错误。最好的选择是使用“批处理模式”(FTP程序应该有类似的功能)。将任何错误输出捕获到文件或STDERR中,并进行解析以查找错误。我同意@charlesdalss,但如果您真的幸运,您可能会找到一个ftp客户端,该客户端退出时带有非零错误代码。在您的命令列表中加入
bye
几乎肯定会否决该行为,所以请尝试将其删除。否则,我会运行一个dir
命令来查看我所期望的文件是否已经到达。如果名称没有更改,则必须在启动ftp
之前删除或重命名现有副本。另外,我认为在本期的S.O.上还有很多问题,所以通读一遍,你可能会发现更好的技术。祝你好运
exitStatus=$?