добрый день всем!
не ругайте сильно, если неправильно выбрал раздел - новичок я в linux и подробно изучать его пока нет особой потребности. задача такая: хочу написать скрипт, который при наличии в выводе команды mount строки
/dev/sda1 on /mnt type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
будет выполнять следующие команды:
umount /dev/sda1
mount -o iocharset=utf8 /dev/sda1 /mnt
общий вид команды условия if then fi представляю, но не знаю, как правильно вписать в условие проверку - не достаточно хорошо знаю синтаксис. оболочка - прошивка dd-wrt для роутера. пробовал так:
a=$(mount | grep vfat)
if [ $a=«/dev/sda1 on /mnt type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)» ]; then
umount /dev/sda1
mount -o iocharset=utf8 /dev/sda1 /mnt
fi
echo $a
не работает, хотя на экран выводит вышеуказанную строчку. подскажите, пожалуйста, где ошибка и как корректнее всего сделать эту проверку?
и еще вопрос: при указанном выше способе монтирования, система ругается в dmesg, что utf8 плохо для fat, так как чувствительно к регистру. но iocharset=866 не монтирует под предлогом того, что в системе нет такого набора символов. есть ли какая-нибудь команда для проверки, какие наборы символов есть в системе?