Есть небольшой скрипт с гуем, который переименовывает в транслит кириллицу(найден на лоре, кстати, только без гуя) Так вот, всё работает, кроме одной очень важной вещи, когда нажимаешь 'отмена' в любом из диалогов, то от продолжает работу Вот код
#!/bin/sh
zenity --info --text="Выберите путь к файлам, которые нужно перевести в транслит, для продолжения нажмите 'Ok' "
FILE=`zenity --file-selection --directory --title="Путь к кириллице"`
case $? in
0)
echo "Выбран \"$FILE\".";;
1)
echo "Файл не выбран.";;
-1)
echo "Файл не выбран.";;
esac
if [ "$?" = 1 ]
then
break
fi
cd "$FILE" || exit;
( zenity --question --text "Сейчас все файлы в папке бутут переименованы в транслит, продолжить?" )
if [ "$?" = 1 ]
then
break
fi
(
shopt -s nullglob
for NAME in * ; do
TRS=`echo $NAME | sed "y/абвгдезийклмнопрстуфхцы/abvgdezijklmnoprstufxcy/"`
TRS=`echo $TRS | sed "y/АБВГДЕЗИЙКЛМНОПРСТУФХЦЫ/ABVGDEZIJKLMNOPRSTUFXCY/"`
TRS=${TRS//ч/ch};
TRS=${TRS//Ч/CH} TRS=${TRS//ш/sh};
TRS=${TRS//Ш/SH} TRS=${TRS//ё/jo};
TRS=${TRS//Ё/JO} TRS=${TRS//ж/zh};
TRS=${TRS//Ж/ZH} TRS=${TRS//щ/sh\'};
TRS=${TRS//Щ/SH\'} TRS=${TRS//э/je};
TRS=${TRS//Э/JE} TRS=${TRS//ю/ju};
TRS=${TRS//Ю/JU} TRS=${TRS//я/ja};
TRS=${TRS//Я/JA} TRS=${TRS//ъ/\`};
TRS=${TRS//ъ\`} TRS=${TRS//ь/\'};
TRS=${TRS//Ь/\'}
if [[ `file -b "$NAME"` == directory ]]; then
mv -v "$NAME" "$TRS"
cd "$TRS"
"$0"
cd ..
else
mv -v "$NAME" "$TRS"
fi
done ) | zenity --progress \
--title="Перевод в транслит" \
--text="Перевожу в транслит..." \
--percentage=0 \
--auto-close \
--pulsate
zenity --info --text="Мы закончили!"