コンピュータ間でいくつかのファイルをコピーして解凍するスクリプトを作成します。 (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で 'をエスケープする必要があります(バックスラッシュや二重文字を使用するなど)。