【发布时间】:2018-07-12 11:19:33
【问题描述】:
在我的 shell 脚本中,sFTP put 过程完成后。我需要检查 PUT 过程是成功完成还是失败。
【问题讨论】:
-
显示一些代码。有不止一个 sftp 客户端,现在我们甚至不知道您要问的是哪一个。 (就个人而言,顺便说一句,我是
lftp的忠实粉丝,这是(1)支持更多的协议,而不仅仅是 sftp——还支持常规 ftp、http、标准 ssh 和许多其他协议;并且(2)是设计的考虑到脚本)。 -
(另外,您使用的参数非常重要——OpenSSH 的
sftp的行为与通过heredoc 或expect 脚本传递给标准输入的命令列表与-b的行为完全不同批处理文件选项)。 -
spawn sftp user@hostname expect "password:" send "$PWD\r";期望 "sftp> " 发送 "put test_file.txt
.*\r";期待“sftp>”发送“再见\r”; -
我需要验证 -> sFTP put 是否成功完成。请告诉我,检查这种情况的过程。
-
也就是说,您使用的似乎是
expect。 不要。 将sftp -b与包含命令的脚本一起使用,如果任何操作失败,这将导致sftp以失败的退出状态退出。
标签: shell