Das ist das nächstbeste, denke ich. Fügen Sie den folgenden Code ein $HOME/.gnome2/nautilus-scripts
:
#!/bin/sh # Released into the public domain. # for arg do md5=$(md5sum "$arg" | awk '') sha1=$(sha1sum "$arg" | awk '') crc32=$(crc32 "$arg") gdialog --title "Hashes" --msgbox "File $arg\nmd5 $md5\nsha1 $sha1\ncrc32 $crc32" 800 1100 done
Ich habe die Datei angerufen hashes
, aber Sie können sie anrufen, wie Sie möchten. Stellen Sie sicher, dass Sie die Ausführungsberechtigung festlegen (zB chmod +x hashes
).
Hier ist der zweite Teil, den ich versprochen habe:
#!/bin/sh # Released into the public domain. # for arg do md5=$(md5sum "$arg" | awk '') md5compare=$(gdialog --title "MD5 comparison" --inputbox "MD5 hash to compare:" 200 3>&1 1>&2 2>&3) if [ "$md5compare" = "$md5" ]; then gdialog --title "Match" --msgbox "Match confirmed" 200 200 else gdialog --title "No match" --msgbox "No match" 200 200 fi done
Dieses zweite Skript habe ich angerufen compare hashes
.
EDIT: Dies ist die endgültige Version. Dieser führt sowohl die Hashes als auch den Vergleich mit einer while
Schleife durch, so dass mehr als ein Vergleich durchgeführt werden kann.
#!/bin/sh # Released into the public domain. # for arg do md5=$(md5sum "$arg" | awk '') sha1=$(sha1sum "$arg" | awk '') crc32=$(crc32 "$arg") compare_msg="MD5 hash to compare:" md5compare=$(gdialog --title "Hashes and MD5 comparison" --inputbox "File $arg\nmd5\t\t$md5\nsha1\t\t$sha1\ncrc32\t$crc32\n\n$compare_msg" 1100 3>&1 1>&2 2>&3 ) while [ $? -eq 0 ] do if [ "$md5compare" = "$md5" ]; then compare_msg="Match confirmed" else compare_msg="No match\n\t\t$md5compare" fi md5compare=$(gdialog --title "Hashes and MD5 comparison" --inputbox "File $arg\nmd5\t\t$md5\nsha1\t\t$sha1\ncrc32\t$crc32\n\n$compare_msg" 1100 3>&1 1>&2 2>&3 ) done done
Diese letzte Version habe ich angerufen hash and compare
.
EDIT: Ich habe gerade ein paar Formatierungs-Feinheiten hinzugefügt.
BEARBEITEN: Ich habe herausgefunden, wie man die Verwendung einer temporären Datei vermeidet.