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 

3つのファイルに言及しました。

a.zip
b.zip 
c.zip

意味に広がる

unzip a.zip b.zip c.zip

これはよさそうですが、unzipはaからbとcを解凍するように指示しますが、これは間違っています。これはうまくいきません。 (ローカルシステムを確認してください)。

解決策は

unzip '*.zip'. 

sshで 'をエスケープする必要があります(バックスラッシュや二重文字を使用するなど)。

関連情報