愚かな質問のようですが、私はグーグルやマニュアルページから何も見つけることができません...私は引用符で囲まれたものだと確信しています...コマンドラインから次の予想通り、それは希望/実行されます(任意のディレクトリなしすなわちファイルのみ):Perlスクリプトのディレクトリを除いて.tar.gzを圧縮
tar cfz /path/to/file.tar.gz --directory="/path/to/" .
は、しかし、私はパス($ folder_errors =」などの変数とはいえ、Perlでこの類似ラインを持っています/パス/ 'へ):
system('tar cfz '."\"${folder_errors}\"/errors.tar.gz --directory=\"\"${folder_errors}\"/\" .");
も
0123を試しsystem('tar cfz '."\"${folder_errors}\"/errors.tar.gz --directory=\"${folder_errors}\"/ .");
同じ(予期しない)結果があります。
正しいファイルを圧縮しますが、圧縮されたファイルの内部には、すべてのファイルが存在するファイル構造./
があります。
これらの奇妙な二重引用符は何ですか? – melpomene
@melpomene私が知っている "引用"であると主張するなら、私は横たわっているだろう。私はダブルスを削除しました。私は同じ行動を見ました。私は本当に物事を試みていた。私はperlとbashの新機能ですが、まだ実装されていません。 – TriHard8
@ikegami私はデバッガ(perl -d)を実行し、その行が実行される直前に変数をチェックしました。正しいファイルは圧縮されたファイルにあり、それはまた所望のディレクトリに格納されます。唯一の問題は、tarballの中のファイルが '。/'の中にあることです。 – TriHard8