我在bash腳本中使用7z命令來創建一個用於備份目的的7z存檔。我的腳本也會檢查這個新創建的7z存檔是否存在於我的備份文件夾中,如果存在,我將運行md5sum以查看內容是否有所不同。所以如果檔案文件還沒有退出,或者md5sum與以前不同,我將它複製到我的備份文件夾。所以我嘗試了一個簡單的示例來測試腳本,但問題是我有時會爲我壓縮的同一文件夾獲取不同的md5sum。爲什麼?有沒有其他可靠的方法來檢查文件內容是否有所不同?命令很簡單:爲什麼7z創建不同的文件?
SourceFolder="/home/user/Documents/"
for file in $SourceFolder*
do
localfile=${file##*/}
7z a -t7z "$SourceFolder${localfile}.7z" "$file"
md5value=`md5sum "$SourceFolder${localfile}.7z"|cut -d ' ' -f 1`
... copyinf文件去從這裏開始......
這是一個在Windows下運行的Linux模擬器嗎?如果是這樣,windows可能會以某種方式修改'Documents'的內容,以便使md5sum返回不同的校驗和。 – 2014-10-28 07:33:40
請使用'fullcode'標記而不是''' – 2014-10-28 08:04:59
也許7z在存檔中包含時間戳(創建時間戳?)。將它們與'cmp -l 1.7z 2.7z'比較,看看有多少個字節是不同的。 – glglgl 2014-10-28 09:12:48