clarkk Asked: 2019-05-25 22:03:12 +0800 CST2019-05-25 22:03:12 +0800 CST 2019-05-25 22:03:12 +0800 CST 测试是否使用 SFTP 命令下载了任何文件 772 如何获取 SFTP 命令的返回码? 我这样做是为了从一个目录下载所有文件。但如果目录为空,则命令返回1 如何获取实际代码File not found? echo 'get * /var/download' | sftp -b - user@host 或者一个解决方案是忽略/抑制错误File not found并返回0(不抑制所有错误,只有这个) shell ssh 1 个回答 Voted Best Answer Martin Prikryl 2019-05-25T22:17:16+08:002019-05-25T22:17:16+08:00 OpenSSHsftp成功返回 0,错误返回 1。 没有提供进一步的区分。 要测试,在尝试下载之前目录中是否存在任何文件,您可以使用: echo "ls /remote/path/*" | sftp -b - [email protected] if [ $? -eq 0 ] then echo "Files exist, can download now" echo 'get /remote/path/* /local/path/' | sftp -b - [email protected] if [ $? -eq 0 ] then echo "Files successfully downloaded" else echo "Files exist, but failed to download" fi else echo "Files do not exist" fi 对于类似的问题,请参阅如何从本地 Linux 脚本检查远程 SFTP 服务器中是否存在文件?
OpenSSH
sftp
成功返回 0,错误返回 1。没有提供进一步的区分。
要测试,在尝试下载之前目录中是否存在任何文件,您可以使用:
对于类似的问题,请参阅如何从本地 Linux 脚本检查远程 SFTP 服务器中是否存在文件?