Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在shell脚本中处理FTP错误_Shell - Fatal编程技术网

在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认为该命令运行得很

我正在尝试从另一个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程序应该有类似的功能)。将任何错误输出捕获到文件或STDERR中,并进行解析以查找错误。

我同意@charlesdalss,但如果您真的幸运,您可能会找到一个ftp客户端,该客户端退出时带有非零错误代码。在您的命令列表中加入
bye
几乎肯定会否决该行为,所以请尝试将其删除。否则,我会运行一个
dir
命令来查看我所期望的文件是否已经到达。如果名称没有更改,则必须在启动
ftp
之前删除或重命名现有副本。另外,我认为在本期的S.O.上还有很多问题,所以通读一遍,你可能会发现更好的技术。祝你好运
exitStatus=$?