| 
			| 
					
						| 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/bashvolumes="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/bashvolumes="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" - редактор меню), а из меню уже перетащить на рабочий стол (должен быть разблокирован) |  
						| 
								|  |  
								|  |  Записан | 
 
 |  |  | 
	|  |