Составил вторую версию скрипта для подсчёта md5 из Nautilus. Ложится он опять же в каталог
~/.gnome2/nautilus-scripts/ . При выделении файла, например
file.txt создаётся
file.txt.md5 с хэшем. При выделении нескольких файлов создаётся
md5sum.md5 и вывод пишется в него. При выделении каталога, например
my_catalog, создаётся
my_catalog.md5 и в него вписываются контрольные суммы всех файлов из
my_catalog. При выделении нескольких файлов+каталогов создаёт
md5sum.md5 и в него вписывает проверочные суммы файлов и содержимого выделенных каталогов. Типа того. С пробелами в именах/путях вроде бы работает хорошо. Но если кому приспичит попользоваться, за последствия не отвечаю))). Впрочем, буду пользоваться сам, ибо уверен, беды оно не натворит))). Да, если вызвать скрипт по контекстному меню на пустом месте каталога, то будет создан
md5sum.md5.error , с текстом
Не передано ни одного аргумента.
Вот, собственно, сам код, а во вложении готовый скрипт.
#!/bin/bash
# Скрипт для посчёта контрольных сумм 0.20 (Воскресенье, 21 Март 2010)
# © Линник Сергей wahnbild@yandex.ru
# Лицензия GNU GPL v2
# http://www.gnu.org/licenses/gpl-2.0.txt
if [ $# -eq 0 ]
then
echo "Не передано ни одного аргумента" >> md5sum.md5.error
exit 0;
fi
if [ $# -eq 1 ]
then
if [ -d "$1" ]
then
md5sum "$1"/* >> "$1".md5
else
md5sum "$1" >> "$1".md5
fi
else
until [ -z "$1" ]
do
if [ -d "$1" ]
then
md5sum "$1"/* >> md5sum.md5
else
md5sum "$1" >> md5sum.md5
fi
shift
done
fi
exit 0;
ЗЫ. При выделении каталогов (лично у меня) вложенные в них каталоги игнорируются. Я об этом не подумал сначала... Испугался, что подобные ситуации будут вызывать ошибку. Но у меня всё работает, проверил. Для вложенных файлов создаются md5 суммы, а наличие вложенных каталогов просто игнорируется))). Хотя, надо на всякий случай позже эту оплошность исправить, а-то всякое бывает...
Вложение: 3781924_scriptmd50_20.zip