如何在SFTP中使用重定向运算符和管道运算符相关命令?
目前我已通过 SSHPASS 连接到 SFTP ,如下所示
ls -ltr
sftp> ls -ltr
-rw-r----- 1 1500 1500 421782831 Jul 19 12:43 mOneBackup_IMS_20170719081701.tgz
-rw-r----- 1 1500 1500 374262100 Jul 24 11:54
mOneBackup_IMS_20170724010013.tgz
再次
ls -ltr | tail -1
sftp> ls -ltr | tail -1
Couldn't stat remote file: No such file or directory
Can't ls: "/Restore/|" not found**
[oouser@SVSATVMWHOST03-SITHPOO test]$
这是给出位于sftp提示符中的ls -ltr结果文件的输出,这很好。
但是,
我需要一个命令来查看/获取ls -ltr的重定向输出和| (管道操作)和SFTP提示中的最后1个文件名
在 SFTP 提示符中使用管道运算符(|)发送命令时 - 服务器抛出"无法统计远程文件:没有这样的文件或目录"
{{1}}
如何在SFTP提示符下使用管道和重定向操作?
答案 0 :(得分:0)
简短的回答是" |"对sftp
" ls"没有特别的意义。命令。
sftp> !ls -ltr | tail -1
在这里,您正在使用sftp"!"命令在本地系统上运行命令。该行的其余部分ls -ltr | tail -1
将传递给您的本地shell。 Sftp并没有解释" |"在这一行;你的shell呢。 sftp特有的唯一部分是领先的"!"。
sftp> ls -ltr | tail -1
在这里,您正在使用sftp" ls"命令列出名为"!"," tail"的远程文件的信息,也许" -1"。您收到的错误消息表明没有名为" |"的远程文件。
据我所知,命令行sftp
实用程序不支持单个交互式命令的重定向和管道。