看起來像一個愚蠢的問題,但我無法通過谷歌或手冊頁找到任何東西......我確定這是用我的引號...當我運行在命令行以下時,它運行如預期的/所需的(即只有文件而沒有任何目錄):在Perl腳本中壓縮無目錄的.tar.gz
tar cfz /path/to/file.tar.gz --directory="/path/to/" .
然而,我在Perl此類似線,儘管(變量作爲路徑$ folder_errors =」 /路徑/到'):
system('tar cfz '."\"${folder_errors}\"/errors.tar.gz --directory=\"\"${folder_errors}\"/\" .");
還試圖
system('tar cfz '."\"${folder_errors}\"/errors.tar.gz --directory=\"${folder_errors}\"/ .");
具有相同(意外的)結果。
它壓縮正確的文件,但是,壓縮文件內部是所有文件所在的文件結構./
。
這些奇怪的雙雙引號是怎麼回事? – melpomene
@melpomene如果我自稱是「引用」知識淵博的人,我會撒謊。我沒有刪除雙打b/c我看到了同樣的行爲。我真的只是在嘗試。我是perl和bash的新手,仍然不清楚報價實現。 – TriHard8
@ikegami我運行了調試器(perl -d)並在該行執行之前檢查了該變量。正確的文件位於壓縮文件中,該文件也位於所需的目錄中。唯一的問題是tarball裏面的文件在'。/' – TriHard8