通过 SSH 远程解压不起作用

通过 SSH 远程解压不起作用

尝试制作一个脚本,在计算机之间复制一些文件并解压缩它们。 (运行 CentOS 6.7)除了部分之外,一切似乎都正常unzip

这是给我一些问题的命令,

ssh -i /root/.ssh/qasynd.key [email protected] 'unzip /home/root/tmp/*.zip'

忽略用户/目录结构,因为这只是命令的一部分,什么可能导致这种情况?我确实尝试将其指向/usr/bin/unzip而不是仅仅指向unzip

答案1

这是 Linux zip 中一个非常常见的问题...如果你这样做

unzip *.zip 

你说了三个文件:

a.zip
b.zip 
c.zip

它扩展为意味着

unzip a.zip b.zip c.zip

这看起来不错,但它告诉 unzip 从 a 中解压 b 和 c,这是不正确的。这是行不通的。 (在您的本地系统上检查)。

解决办法是

unzip '*.zip'. 

您需要在 ssh 中转义 ' (例如反斜杠或使用双打)。

相关内容