2017-09-26 17 views
0

私はLinuxシステムに巨大なフォルダを持っています。その中には、いくつかのシェルスクリプトを囲むzipアーカイブがあります。私はこれらのシェルスクリプトを実行する必要がありますが、私はこのフォルダへの書き込みアクセス権を持っていません。また、このファイルの場所は実行には重要なので、他のディレクトリに移動することもできません。他のディレクトリでは動作しません。zipアーカイブでシェルスクリプトを実行

zipアーカイブ内からシェルスクリプトを抽出せずに実行する方法はありますか?

答えて

2

あなただけのzipファイルの後にパスを指定することにより、1つの特定のファイルを解凍することができます。このコマンドa.sh

$ unzip c.zip a.sh 
Archive: c.zip 
extracting: a.sh 

は、実行するスクリプトへのパスです。それを実行するために

$ unzip -p c.zip a.sh 
#!/bin/sh 

echo "this is a.sh; it is now $(date)" 

をそして最後に、あなたはshために、パイプ、このことができます::

あなたは-pパラメータを使用して標準出力に内容を印刷することができます

$ unzip -p c.zip a.sh | sh 
this is a.sh; it is now Tue Sep 26 11:02:28 BST 2017 

注意をそのかなりの数のシェルスクリプトbashとすると、スクリプトに応じて、ではなくbashにパイプしたい場合があります。

関連する問題