|
|
3.69, gaal.dev (?), 11:33, 15/05/2012 [^] [^^] [^^^] [ответить] [↑] [п©б╘п╠Б∙≤п©Б∙═п▒Б┬≥Б┴╓п©б╘п▒Б┬ Б√⌠п©Б√▓п▒Б√═Б∙⌡п▒Б■╢Б∙■п©Б√▓п▒Б■╛Б┴╔п▒Б■╢Б■╛ п©б╘п╠Б∙≤п©Б∙═п▒Б┬≥Б┴╓п©б╘п▒Б┬ Б√⌠п©Б√▓п▒Б√═Б∙⌡п▒Б■╢Б∙■п©Б√▓п▒Б■╛Б┴╔п▒Б■╢Б∙■п©б╘п╠Б∙≤п©Б∙═п▒Б┬≥Б┴╓п©б╘п▒Б┬ Б√⌠п©Б√▓п▒Б√═Б∙⌡п▒Б■╢Б∙■п©Б√▓п▒Б■╛Б┴╔п▒Б√└Б∙▒п©б╘п╠Б∙≤п©Б∙═п▒Б┬≥Б┴╓п©б╘п▒Б┬ Б√⌠п©Б√▓п▒Б√═Б∙⌡п▒Б■╢Б∙■п©Б√▓п▒Б■╛Б┴╔п▒Б┬ Б▄═п©б╘п╠Б∙≤п©Б∙═п▒Б┬≥Б┴╓п©б╘п▒Б┬ Б√⌠п©Б√▓п▒Б√═Б∙⌡п▒Б■╢Б∙■я▐Б√░п▒Б┬ Б√⌠я▐Б√░п▒Б┬ Б√▒п©Б√▓п▒Б■╛б═п▒Б┬ Б√▓п©б╘п▒Б┬ Б√⌠п©Б√▓п▒Б■╛б═п▒Б┬≥Б√▒п©Б√▓п▒Б┬ Б∙░п▒Б√═Б■─п©б╘п╠Б∙≤п©Б∙═п▒Б┬≥Б┴╓п©б╘п▒Б┬ Б√⌠п©Б√▓п▒Б√═Б∙⌡п▒Б■╢Б∙■я▐Б■°п▒Б┬≥Б∙■я▐Б√░п▒Б┬ Б√▒п©Б√▓п▒Б■╛б═п▒Б┬ Б√▓п©б╘п▒Б┬ Б√⌠п©Б√▓п▒Б■╛б═п▒Б┬≥Б√▒п©Б√▓п▒Б■╛б═п▒Б√═Б√═п©б╘п╠Б∙≤п©Б∙═п▒Б┬≥Б┴╓п©б╘п▒Б┬ Б√⌠п©Б√▓п▒Б√═Б∙⌡п▒Б■╢Б∙■п©Б√▓п▒Б■╛Б┴╔п▒Б√└Б∙▒я▐Б√░п▒Б┬ Б√▒п©Б√▓п▒Б■╛б═п▒Б┬ Б√▓п©б╘п▒Б┬ Б√⌠п©Б√▓п▒Б■╛б═п▒Б┬≥Б√▒п©Б√▓п▒Б┬ Б∙░п▒Б√═Б■─я▐Б√░п▒Б┬ Б√▒п©Б√▓п▒Б■╛б═п▒Б┬ Б√▓п©б╘п▒Б┬ Б√⌠п©Б√▓п▒Б■╛б═п▒Б┬≥Б√▒п©Б√▓п▒Б■╛б═п▒Б┬ Б√⌠]
| +/– |
В моем решении вот эта строка проверяется.
FreeBSD 8.0-RELEASE-p4 (MONOLITH) и другие подобные
Основное в решении. Вот тут только какое-то изменение надо внести: может быть в системе awk, gawk иди mawk.
Проверяемый диск. /dev/sda1 например, а надо /dev/sda
disk=$(echo $partition | gawk '{ match($0, /([[:alpha:][:punct:]]+)[[:digit:]]+/, disk); print disk[1] }')
Выведет тип раздела, если на нем *BSD система. /dev/sda1 * FreeBSD
system=$(fdisk -l $disk | awk '/'$tpartition'[[:blank:]]+\*[[:blank:]]+.+[[:blank:]]+.+BSD/ {print $7}')
И информация из /etc/motd, если такой файл существует. dir куда ФС примонтирована с разделом /dev/sda1
[FreeBSD] первое выражение [8.0-RELEASE-p4] второе выражение ( пропустить скобки [MONOLITH] третье выражение ) пропустить скобки
FreeBSD | NetBSD | OpenBSD) title=$(cat $dir/etc/motd | gawk '{ match($0, /('$system')[[:blank:]]+([[:graph:]]+)[[:blank:]]+(\([[:print:]]+\))/, title); print title[1], title[2], title[3]; exit 0}')
И монтирование, если тип раздела ufs
for ufstype in ufs2 44bsd; do
if mount -o ro,ufstype=$ufstype -t "$type" "$partition" "$tmpmnt" 2>/dev/null; then
mounted=1
fi
done
В принципе надо было еще break добавить.
| |
|
|
|