shell如何判断sftp上传是否成功

   2025-02-15 4150
核心提示:在Shell中,可以使用变量$?来判断上一个命令的执行结果。如果命令执行成功,则$?的值为0;如果命令执行失败,则$?的值为非零值。

在Shell中,可以使用变量$?来判断上一个命令的执行结果。如果命令执行成功,则$?的值为0;如果命令执行失败,则$?的值为非零值。

根据这个特性,可以使用以下方法判断sftp上传是否成功:

使用sftp命令上传文件,并将上传结果保存到一个临时文件中:

sftp user@host:/path/to/destination localfile > upload.log 2>&1

这里将sftp命令的输出重定向到upload.log文件中。

检查upload.log文件的内容,如果文件中包含类似"Successfully uploaded"的关键字,则表示上传成功;否则表示上传失败。

if grep -q "Successfully uploaded" upload.log; then    echo "Upload successful"else    echo "Upload failed"fi

这里使用grep命令来搜索upload.log文件中是否包含"Successfully uploaded"关键字,并通过if语句判断上传结果。

注意:这种方法只是判断sftp命令的执行结果,而不一定表示文件上传成功。可能存在网络中断、权限问题等导致上传失败但命令仍然执行成功的情况。如果需要更可靠的判断文件是否上传成功,可以考虑使用其他方法,如检查目标服务器上文件的存在与大小。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言