alextswet
Новичек
Карма: 0
Сообщений: 20
ОС:
Linux (Ubuntu)
Браузер:
Firefox 3.5.7
|
|
« : 02 Февраля 2010, 17:49:37 » |
|
Доброго времени суток, коллеги! Хотелось бы обратиться к программистам по написанию скриптика небольшого на bash В двух словах, задача следующая: написать скрипт, результатом выполнения которого было бы монтирование 4 разделов netware на linux станции. Пример скрипта с монтированием 1 раздела: #!/bin/bash volume="ALL1" mount1=/mnt/04-netware/ALL1 /usr/bin/ncpmount -S <servername> -y utf8 -p cp866 -V $volume -U <username> -P <pass> $mount1 Но это только для одного раздела. Понимаю, что для реализации надо воспользоваться циклом for, но как реализовать это - никак не пойму. Натолкните, плиз, на мысль. Заранее спасибо! если задача наипростейшая - ссори за такой тривиальный вопрос
|
|
|
Записан
|
|
|
|
NeO
Злобный админчик
Администратор
Карма: 62
Сообщений: 2376
Debian Stretch
ОС:
Linux
Браузер:
Firefox 3.6
|
|
« Ответ #1 : 02 Февраля 2010, 18:26:34 » |
|
Ну если я правильно понял вашу задачу, то что-то типа #!/bin/bash volumes="ALL1 ALL2 ALL3" for name in $volumes; do /usr/bin/ncpmount -S <servername> -y utf8 -p cp866 -V $name -U <username> -P <pass> /mnt/04-netware/$name done
но я-бы еще добавил в начале цикла mkdir -p /mnt/04-netware/$name
Чтобы точки монтирования руками не создавать.
|
|
|
Записан
|
|
|
|
alextswet
Новичек
Карма: 0
Сообщений: 20
ОС:
Linux (Ubuntu)
Браузер:
Firefox 3.5.7
|
|
« Ответ #2 : 02 Февраля 2010, 18:37:57 » |
|
О, светлая мысль! то есть, если я правильно понял, скриптик будет иметь вид: #!/bin/bash volumes="ALL1 ALL2 ALL3" for name in $volumes; do mkdir -p /mnt/04-netware/$name /usr/bin/ncpmount -S <servername> -y utf8 -p cp866 -V $name -U <username> -P <pass> /mnt/04-netware/$name done как раз упирался в 2 переменные в одном цикле. спасибо, сейчас попробую!
|
|
« Последнее редактирование: 02 Февраля 2010, 18:53:34 от alextswet »
|
Записан
|
|
|
|
NeO
Злобный админчик
Администратор
Карма: 62
Сообщений: 2376
Debian Stretch
ОС:
Linux
Браузер:
Firefox 3.6
|
|
« Ответ #3 : 02 Февраля 2010, 18:47:21 » |
|
Да, как-то так. И попрошу скрипты запихивать в специально обученные теги.
|
|
|
Записан
|
|
|
|
alextswet
Новичек
Карма: 0
Сообщений: 20
ОС:
Linux (Ubuntu)
Браузер:
Firefox 3.5.7
|
|
« Ответ #4 : 02 Февраля 2010, 19:06:57 » |
|
не проходит, опять в те же грабли уперся. монтирует только раздел ALL1, в остальные итерации цикла пытается смонтировать тот же раздел You already have mounted server <name> as user <user> on mount point /mnt/04-netware/ALL1так, дело не в скрипте оказывается ... даже простым монтированием одного раздела из консоли, а потом попыткой монтирования другого - выводится ошибка об уже смонтированном сервере так все же у ncpmount есть возможность монтирования сразу нескольких разделов? Спасибо. Полезу спрашивать у google еще.
|
|
« Последнее редактирование: 02 Февраля 2010, 19:20:12 от alextswet »
|
Записан
|
|
|
|
NeO
Злобный админчик
Администратор
Карма: 62
Сообщений: 2376
Debian Stretch
ОС:
Linux
Браузер:
Firefox 3.6
|
|
« Ответ #5 : 02 Февраля 2010, 19:19:53 » |
|
А отмонтировать перед запуском не забыли? (:
|
|
|
Записан
|
|
|
|
alextswet
Новичек
Карма: 0
Сообщений: 20
ОС:
Linux (Ubuntu)
Браузер:
Firefox 3.5.7
|
|
« Ответ #6 : 02 Февраля 2010, 19:23:52 » |
|
в том то и дело, что не забыл повторюсь, из консоли тоже при попытки монтирования следующего раздела ругается на уже смонтированный раздел
|
|
|
Записан
|
|
|
|
NeO
Злобный админчик
Администратор
Карма: 62
Сообщений: 2376
Debian Stretch
ОС:
Linux
Браузер:
Firefox 3.6
|
|
« Ответ #7 : 02 Февраля 2010, 19:25:24 » |
|
Может это заморочки ncpmount, тут я не в курсе.
|
|
|
Записан
|
|
|
|
alextswet
Новичек
Карма: 0
Сообщений: 20
ОС:
Linux (Ubuntu)
Браузер:
Firefox 3.5.7
|
|
« Ответ #8 : 02 Февраля 2010, 19:27:36 » |
|
спасибо за помощь! значит, будем рыть в сторону ncpmount. скрипт все же правильно написал, уже радует Добавлено: [time]Срд 03 Фев 2010 15:19:49[/time]
Переформулируем вопрос командой sudo /usr/bin/ncpmount -S <servername> -y utf8 -p cp866 -U <username> -P <pass> /mnt/04-netware/ монтируем все разделы сервера netware но под root'ом командой /usr/bin/ncpmount -S <servername> -y utf8 -p cp866 -V <volume> -U <username> -P <pass> /mnt/04-netware/<volume> монтируем раздел <volume> под текущей учеткой со всеми правами Задача же смотнировать все/несколько разделов netware под текущей учеткой пользователя
|
|
« Последнее редактирование: 03 Февраля 2010, 15:20:14 от alextswet »
|
Записан
|
|
|
|
alextswet
Новичек
Карма: 0
Сообщений: 20
ОС:
Linux (Ubuntu)
Браузер:
Firefox 3.5.7
|
|
« Ответ #9 : 11 Февраля 2010, 12:28:53 » |
|
всем спасибо, за монтирование нескольких томов отвечает параметр -m в команде ncpmount вопрос закрыт
|
|
|
Записан
|
|
|
|
NeO
Злобный админчик
Администратор
Карма: 62
Сообщений: 2376
Debian Stretch
ОС:
Linux
Браузер:
Firefox 3.6
|
Может выложишь итоговый вариант скрипта и прикроем тему?
|
|
|
Записан
|
|
|
|
alextswet
Новичек
Карма: 0
Сообщений: 20
ОС:
Linux (Ubuntu)
Браузер:
Firefox 3.5.7
|
С удовольствием Предварительно надо правда скачать старые версии пакетов, ибо новые не работают ipx_2.2.6-3_i386.deb libncp_2.2.6-3_i386.deb libpam-ncp_2.2.6-3_i386.deb ncpfs_2.2.6-3_i386.deb Скриптик на монтирование: #!/bin/bash #mount ALL1 ALL2 ALL3 ALL6 netware (made by tswet) volumes="ALL1 ALL2 ALL3 ALL6" for name in $volumes do /usr/bin/ncpmount -m -S <servername> -y utf8 -p cp866 -V $name -U <user> -P <password> /mnt/04-netware/$name done Скриптик на размонтирование: #!/bin/bash #umount ALL1 ALL2 ALL3 ALL6 netware (made by tswet) volumes="ALL1 ALL2 ALL3 ALL6" for name in $volumes do /usr/bin/ncpumount /mnt/04-netware/$name done кстати, чтобы уж совсем темку прикрыть, небольшой оффтоп: как создать иконку к этим скриптам на рабочем столе? Спасибо!
|
|
« Последнее редактирование: 11 Февраля 2010, 18:15:07 от alextswet »
|
Записан
|
|
|
|
Yazichnik
Небритый одмин
Карма: 8
Сообщений: 710
Mac OS X, Debian
ОС:
Linux (Ubuntu)
Браузер:
Firefox 3.5.7
|
правой почкой мыши по десктопу - создать кнопку запуска
|
|
|
Записан
|
|
|
|
alextswet
Новичек
Карма: 0
Сообщений: 20
ОС:
Linux (Ubuntu)
Браузер:
Firefox 3.5.7
|
может все дело в KDE? такой строчки ни в одном меню нет
|
|
|
Записан
|
|
|
|
Леголегс
|
Если KDE4, то надо сначала в меню добавить (правой кнопкой по букве "K" - редактор меню), а из меню уже перетащить на рабочий стол (должен быть разблокирован)
|
|
|
Записан
|
|
|
|
|