0

大家好,我不是要ksh。我想要做的是我正在编写一个脚本,将一个(或许多)zip 文件从本地目录发送到远程主机。然后让脚本通过 ssh 进入远程主机,以对我刚刚 scp 覆盖的文件进行压缩。有什么简单的方法可以做到这一点。我一直在尝试,但是一旦我 ssh 到远程主机,我的其余命令就不再像 cd /file/directory 然后 gzip -d / files等那样运行......

4

1 回答 1

0

注意:不要混淆“zip”和“gzip”,两种不同的动物

这应该有效:

cd <local_directory>
# collect files names as $1 $2 ... $N
set -- *.gz   # or use your own filter like "dumps*.gz"
# put source file a tar archive  and send it as input to ssh
# then, on the other side, untar the file then decompress
tar cf - $* | ssh <user>@<remote_host> "cd <remote dir> && tar xf - && gunzip $*

注意:使用“&&”代替“;” 防止“cd”因任何原因失败时执行“tar”命令

于 2014-01-18T10:15:07.130 回答