Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
pegas Гость
|
Добавлено: Пн Янв 12 2004 09:15 Заголовок сообщения: Вопрос по сценариям!! |
|
|
Подскажите как , где и что прописать что бы файлы
ip-up.local и ip-down.local стартовали при работе только с конкретными
модемами:
например у меня 2 мультипортовых платы и 16 модемов
от options.ttyS16...options.ttyS32 и нужно что бы скрипты в этих файлах срабатовали при сбросе и инициализации только модемов
например options.ttyS16 и options.ttyS27 |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пн Янв 12 2004 10:41 Заголовок сообщения: |
|
|
Файлы up-up.local являются файлами-сценариями.
Ну так и пиши там типа такого:
if [ $PPPDEV -q "/dev/ttyS0" ]
тра-ля-ля.
fi;
Описание переменных найдешь в самом конце man pppd
Примеры анализа на if поглядишь в любом из стартовых скриптов системы. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
pegas Гость
|
Добавлено: Вт Янв 13 2004 10:39 Заголовок сообщения: |
|
|
and3008 писал(а): | Файлы up-up.local являются файлами-сценариями.
Ну так и пиши там типа такого:
if [ $PPPDEV -q "/dev/ttyS0" ]
тра-ля-ля.
fi;
Описание переменных найдешь в самом конце man pppd
Примеры анализа на if поглядишь в любом из стартовых скриптов системы. |
FПодскажите а где я могу найти информацию о том как писать скрипты? |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Вт Янв 13 2004 11:53 Заголовок сообщения: |
|
|
Поищи русскую версию BASH Howto
Да там просто все, как три копейки. Если знаешь какой-нибудь язык программирования, то проблемм не будет. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
test13
Зарегистрирован: 09.01.2004 Сообщения: 43
|
Добавлено: Вт Янв 13 2004 13:58 Заголовок сообщения: |
|
|
если знаешь с++ - цены тебе нет (: |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Вт Янв 13 2004 14:04 Заголовок сообщения: |
|
|
Если знаешь только С - цена падает.
Примерно в два раза. ![Laughing](images/smiles/icon_lol.gif) |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
test13
Зарегистрирован: 09.01.2004 Сообщения: 43
|
Добавлено: Вт Янв 13 2004 14:06 Заголовок сообщения: |
|
|
((: |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Вт Янв 13 2004 14:26 Заголовок сообщения: |
|
|
Вот пример.
Особого интелекта не надо.
#!/bin/bash
if [ $DEVICE = "/dev/tyS16" ]; then
/bin/echo "Das ist Fantastish!!!!" >> /var/log/ppp-log
fi
if [ $PEERNAME = "vasia" ]; then
/bin/echo "O-o-o-o! Vasia is go to here!!!" >> /var/log/ppp-log
fi
exit 0
Назначение переменных $DEVICE $PEERNAME читать в man pppd
Акурат предпоследний раздел.
Внимание! Этот скрипт ничего не знает про переменную PATH, поэтому я использовал полные пути к программе echo
Если хочется жить как люди, то второй строчкой строчкой скрипта должно быть типа PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/добавить_по_вкусу/local/мои_любимые_проги
export PATH
Загляните в .bash_profile - поймете. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
test13
Зарегистрирован: 09.01.2004 Сообщения: 43
|
Добавлено: Вт Янв 13 2004 14:32 Заголовок сообщения: |
|
|
А если я использую zsh? (:
Хотя принцип я думаю будет понятен всем - у каждой оболочки есть файл в которой она хранит переменные. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Ср Янв 14 2004 00:40 Заголовок сообщения: |
|
|
Доки. Читайте доки - они рулёз! |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
test13
Зарегистрирован: 09.01.2004 Сообщения: 43
|
Добавлено: Ср Янв 14 2004 03:59 Заголовок сообщения: |
|
|
man, man, man - как завещал нам Великий Ленин. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Dmitry.Karpov
Зарегистрирован: 30.11.2003 Сообщения: 415 Откуда: Moscow
|
Добавлено: Пт Янв 16 2004 18:10 Заголовок сообщения: |
|
|
test13 писал(а): | А если я использую zsh? (:
Хотя принцип я думаю будет понятен всем - у каждой оболочки есть файл в которой она хранит переменные. |
Переменные храняться не в файле, а в оперативной памяти (доказательство: в системе м.б. запущены несколько экземпляров шелла). Они могут браться из файла при старте. _________________ Благословен Бог, сотворивший меня сисадмином! |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
pegas Гость
|
Добавлено: Сб Янв 17 2004 09:19 Заголовок сообщения: |
|
|
Подскажите, а в этом условии каким значком добавить оператор ИЛИ
так сработает условие или нет?
if [ $DEVICE = "....." ] or [$DEVICE = "....." ]; then
/bin/echo "hello!!!!"
fi |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Dmitry.Karpov
Зарегистрирован: 30.11.2003 Сообщения: 415 Откуда: Moscow
|
Добавлено: Сб Янв 17 2004 15:31 Заголовок сообщения: |
|
|
pegas писал(а): | Подскажите, а в этом условии каким значком добавить оператор ИЛИ
так сработает условие или нет?
if [ $DEVICE = "....." ] or [$DEVICE = "....." ]; then
/bin/echo "hello!!!!"
fi |
Нет, так не сработает. Открывающая квадратная скобка - это имя файла с программой, /bin/[ - вот и читай 'man ['. Скорее, надо писАть тпа так:
if [ "$DEVICE" = "....." or "$DEVICE" = "....." ]; then
/bin/echo "hello!!!!"
fi _________________ Благословен Бог, сотворивший меня сисадмином! |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Сб Янв 17 2004 21:00 Заголовок сообщения: |
|
|
Загляни в /etc/rc.d/init.d/rc.sysinit
Там куча всякого. Разберешься.
Главное ничего там не меняй, только гляди!!! |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
pegas Гость
|
Добавлено: Пн Янв 19 2004 10:33 Заголовок сообщения: |
|
|
Спасибо! Я разобрался!!
вот при таком условии скрипт срабатывает
#! /bin/sh
if [ $DEVICE = ("....." or ".....") ]; then
echo "hello!!!!"
fi
exit 0 |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пн Янв 19 2004 10:42 Заголовок сообщения: |
|
|
Я бы сделал через select и case
Пример в любом файле из каталога /etc/rc.d/init.d |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Mranton Гость
|
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Dmitry.Karpov
Зарегистрирован: 30.11.2003 Сообщения: 415 Откуда: Moscow
|
Добавлено: Пн Янв 19 2004 13:37 Заголовок сообщения: |
|
|
and3008 писал(а): | Я бы сделал через select и case | Кстати, 'if [' вызывает запуско отдельного процесса, а case выполняется внутри shell. _________________ Благословен Бог, сотворивший меня сисадмином! |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
|