Привет.
Помогите написать скриптНеобходимо отмонтировать все разделы, если они примонтированы...
Тоесть
на входе переменная $DEV... Пусть $DEV=/dev/hdaНужно проверить , есть ли примонтированные разделы, и если есть, то отмонтировать их...
PS man mount и man umount не предлагать
>
>PS man mount и man umount не предлагатьЭто ещё почему???
>>
>>PS man mount и man umount не предлагать
>
>Это ещё почему???Потому что я знаю как пользоваться этими командами...
А мне нужно на их основе написать скрипт... чтобы он не вываливался при umount устрояства которое не примантировано и прочее... обработал исключения и продолжал дальше выполнять что требуется
>>>
>>>PS man mount и man umount не предлагать
>>
>>Это ещё почему???
>
>Потому что я знаю как пользоваться этими командами...
>А мне нужно на их основе написать скрипт... чтобы он не вываливался
>при umount устрояства которое не примантировано и прочее... обработал исключения и
>продолжал дальше выполнять что требуетсяэти утилиты равно как и любые другие возвращают результат выполнения. анализируйте их.
[...]
>PS man mount и man umount не предлагатьman mountpoint(1) тогда ;-) (правда, он не везде есть)
[c0der@rock ~]$ rpm -qf =mountpoint
SysVinit-2.86-alt1[c0der@rock ~]$ man mountpoint
MOUNTPOINT(1) Linux System Administrator's Manual MOUNTPOINT(1)NAME
mountpoint - see if a directory is a mountpointSYNOPSIS
/bin/mountpoint [-q] [-d] /path/to/directory
/bin/mountpoint -x /dev/deviceDESCRIPTION
Mountpoint checks if the directory is a mountpoint.
>[оверквотинг удален]
>
>Необходимо отмонтировать все разделы, если они примонтированы...
>
>Тоесть
>на входе переменная $DEV... Пусть $DEV=/dev/hda
>
>Нужно проверить , есть ли примонтированные разделы, и если есть, то отмонтировать
>их...
>
>PS man mount и man umount не предлагать#! /bin/bash -x
DEV="/dev/hdb"
while [ "1" -eq "1" ]; do
mnt=$(df | grep "$DEV")
if [ ! -z "$mnt" ]; then
DEV_P=$(df | grep "$DEV" | awk '{print $1}')
echo "$DEV_P mount"
fuser -km $DEV_P
umount $DEV_P
echo "$DEV_P successfully unmounted"
else
echo "no mounted"
exit
fi
done
>[оверквотинг удален]
>>
>>Необходимо отмонтировать все разделы, если они примонтированы...
>>
>>Тоесть
>>на входе переменная $DEV... Пусть $DEV=/dev/hda
>>
>>Нужно проверить , есть ли примонтированные разделы, и если есть, то отмонтировать
>>их...
>>
>>PS man mount и man umount не предлагатьupd
#! /bin/bash -xDEV="/dev/hdb"
while [ "1" -eq "1" ]; do
mnt=$(df | grep "$DEV")
if [ ! -z "$mnt" ]; then
DEV_P=$(df | grep -m 1 "$DEV" | awk '{print $1}')echo "$DEV_P mount"
fuser -km $DEV_P
umount $DEV_P
echo "$DEV_P successfully unmounted"
else
echo "no mounted"
exit
fi
done
извините, не совсем по теме, но очень близко:
нам надо почти то же самое сделать (обнаружить, что устр-во подключено, смонтировать
и размонтировать), только в пользовательской программе (на языке С), а не скрипт...