1

拡張子が .tar.gz のファイル名とフォルダー (./archivator.sh box.tar.gz MyFolder など) を CLI から受け取るスクリプトを作成する必要があります。このスクリプトは、フォルダーからファイルをアーカイブし (フォルダー内のファイルのみで圧縮なし)、パラメーターとして受け取ったアーカイブに移動します。アーカイブはパスワード「apple」で (aescrypt を使用して) 暗号化されます。

OS: デビアン 6

注: 最終的な暗号化されたアーカイブは、最初に指定されたパラメーターと同じ名前になります。

これまでに試したことは次のとおりです。

tar -cvf $1 $2/* | aescrypt -e -p apple - > $1.aes | mv $1.aes $1

スクリプトをチェックしようとすると、次のようなメッセージが表示されます。

tar: This does not look like a tar archive
tar: Exiting with a failure status due to previous errors
4

3 に答える 3

1

少し調査した後、ここに解決策があります:

pushd $2
tar cvf $1 .
openssl aes-256-cbc -in $1 -out $1.enc -pass pass:apple
mv $1.enc $1
popd
于 2012-12-16T13:41:07.883 に答える
1

これをやってみてください:

tar cf - $2/* | aescrypt -e -p apple - > $1

-ここでは、STDINを意味します

GNU tar 1.26 を使用する Linux (archlinux) でうまく動作します

うまくいかない場合は、スクリプトをデバッグ モードで実行します。

bash -x script.sh

その後、再び出力を投稿してください。

于 2012-12-01T16:13:04.597 に答える
0

あなたのエラーは、インタープリターが tar アーカイブではないファイルを受け取っていることを示しているようですが、それを期待しています。提供するファイルが tar アーカイブであることを確認しましたか?

于 2012-12-01T16:53:54.317 に答える