The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Туплю. Нужен взгляд со стороны."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Туплю. Нужен взгляд со стороны."
Сообщение от anton emailИскать по авторуВ закладки on 03-Фев-04, 16:34  (MSK)
Есть скриптик. Цель когда пропадает тунель запускатьдругие скрипты. И вот уже часа два не могу его дописать. Гляньте какую галочку я забываю?

#!/bin/sh
tun=`/sbin/ifconfig -a | /usr/bin/grep "192.168.130.1"`
tun_true="inet 192.168.130.2 --> 192.168.130.1 netmask 0xffffff00"
if [ $tun = $tun_true ] ; then
echo "Ok"
fi

выдаёт
[: 192.1681.130.2: unexpected operator

Как правильно?  

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Туплю. Нужен взгляд со стороны."
Сообщение от alk emailИскать по авторуВ закладки on 03-Фев-04, 16:53  (MSK)
>Есть скриптик. Цель когда пропадает тунель запускатьдругие скрипты. И вот уже часа
>два не могу его дописать. Гляньте какую галочку я забываю?
>
>#!/bin/sh
#!/bin/sh -xv
>tun=`/sbin/ifconfig -a | /usr/bin/grep "192.168.130.1"`
>tun_true="inet 192.168.130.2 --> 192.168.130.1 netmask 0xffffff00"
>if [ $tun = $tun_true ] ; then
>echo "Ok"
>fi
>
>выдаёт
>[: 192.1681.130.2: unexpected operator
>
>Как правильно?
запуск сктипта ./script.sh 2>&1 | more

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Туплю. Нужен взгляд со стороны."
Сообщение от anton emailИскать по авторуВ закладки on 03-Фев-04, 17:11  (MSK)
Не понял что ты имел ввиду?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Туплю. Нужен взгляд со стороны."
Сообщение от alk emailИскать по авторуВ закладки on 03-Фев-04, 18:05  (MSK)
>>Есть скриптик. Цель когда пропадает тунель запускатьдругие скрипты. И вот уже часа
>>два не могу его дописать. Гляньте какую галочку я забываю?
>>
>>#!/bin/sh
>>#!/bin/sh -xv
>>tun=`/sbin/ifconfig -a | /usr/bin/grep "192.168.130.1"`
>>tun_true="inet 192.168.130.2 --> 192.168.130.1 netmask 0xffffff00"
>>if [ $tun = $tun_true ] ; then
>>echo "Ok"
>>fi
>>
>>выдаёт
>>[: 192.1681.130.2: unexpected operator
>>
>>Как правильно?
#!/bin/sh -xv
запуск сктипта ./script.sh 2>&1 | more
покажет на экране каждую строчку выполнения скрипта
увидишь где ошибка

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Туплю. Нужен взгляд со стороны."
Сообщение от pasha Искать по авторуВ закладки on 03-Фев-04, 17:08  (MSK)
>Как правильно?

if [ "$tun" = "$tun_true" ]; then

Вот так будет правильно.
RTFM.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Туплю. Нужен взгляд со стороны."
Сообщение от anton emailИскать по авторуВ закладки on 03-Фев-04, 17:18  (MSK)
#!/bin/sh
tun=`/sbin/ifconfig -a | /usr/bin/grep "192.168.130.1"`
tun_true="inet 192.168.130.2 --> 192.168.130.1 netmask 0xffffff00"
echo $tun
echo $tun_true
if [ "$tun" = "$tun_true" ] ; then
echo "Ok"
else
echo "Fuck"
fi

Получил

   inet 192.168.130.2 --> 192.168.130.1 netmask 0xffffff00
inet 192.168.130.2 --> 192.168.130.1 netmask 0xffffff00
Fuck

Вот :(

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Туплю. Нужен взгляд со стороны."
Сообщение от pasha Искать по авторуВ закладки on 03-Фев-04, 17:38  (MSK)
>Вот :(

if test "$tun" = "$tun_true"; then

А так попробуй. ;)

Все одно - RTFM!


  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Туплю. Нужен взгляд со стороны."
Сообщение от Michael emailИскать по авторуВ закладки on 03-Фев-04, 18:37  (MSK)
>Есть скриптик. Цель когда пропадает тунель запускатьдругие скрипты. И вот уже часа
>два не могу его дописать. Гляньте какую галочку я забываю?
>
>#!/bin/sh
>tun=`/sbin/ifconfig -a | /usr/bin/grep "192.168.130.1"`
>tun_true="inet 192.168.130.2 --> 192.168.130.1 netmask 0xffffff00"
>if [ $tun = $tun_true ] ; then
>echo "Ok"
>fi
>
>выдаёт
>[: 192.1681.130.2: unexpected operator
>
>Как правильно?

попробуй
if $tun == $tun_true; then

а вообще, имхо, не лучший способ определять падение канала... но сойдет...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Туплю. Нужен взгляд со стороны."
Сообщение от anton emailИскать по авторуВ закладки on 04-Фев-04, 10:04  (MSK)
Оба способа не канают.
В первом при if test "$tun" = "$tun_true"; then
Получаю Fuck
Во втором
inet: not found.
Fuck
  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Туплю. Нужен взгляд со стороны."
Сообщение от Michael emailИскать по авторуВ закладки on 04-Фев-04, 10:22  (MSK)
>Оба способа не канают.
>В первом при if test "$tun" = "$tun_true"; then
>Получаю Fuck
>Во втором
>inet: not found.
>Fuck
а откуда фраза "inet: not found."?

я еще одну вещь проглядел - надо точку с запятой поставить после обоих echo внутри if-а
т.е. примерно так:
if test "$tun" = "$tun_true"; then
  echo OK;
else
  echo BAD;
fi

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Туплю. Нужен взгляд со стороны."
Сообщение от anton emailИскать по авторуВ закладки on 04-Фев-04, 10:27  (MSK)
>>Оба способа не канают.
>>В первом при if test "$tun" = "$tun_true"; then
>>Получаю Fuck
>>Во втором
>>inet: not found.
>>Fuck
>а откуда фраза "inet: not found."?
Да фиг её знает такое впечатление что он переменные в нутри if воспринимал как команды сшела.
>
>я еще одну вещь проглядел - надо точку с запятой поставить после
>обоих echo внутри if-а
>т.е. примерно так:
>if test "$tun" = "$tun_true"; then
>  echo OK;
>else
>  echo BAD;
>fi


  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Туплю. Нужен взгляд со стороны."
Сообщение от anton emailИскать по авторуВ закладки on 04-Фев-04, 10:06  (MSK)
>
>а вообще, имхо, не лучший способ определять падение канала... но сойдет...

А как лучше, грамотней. Мне просто в голову только этот способ пришел.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Туплю. Нужен взгляд со стороны."
Сообщение от anton emailИскать по авторуВ закладки on 04-Фев-04, 10:20  (MSK)
Такое впечатление что, что то с пробелами в переменных. Ибо так прокатило.

#!/bin/sh
tun=`/sbin/ifconfig -a | /usr/bin/grep "192.168.130.1" | awk '{print $2}'`
tun_true="192.168.130.2"
echo "$tun"
echo "$tun_true"
if test "$tun" = "$tun_true" ; then
echo "Ok"
else
echo "Fuck"
fi

  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "Туплю. Нужен взгляд со стороны."
Сообщение от Michael emailИскать по авторуВ закладки on 04-Фев-04, 10:45  (MSK)
>А как лучше, грамотней. Мне просто в голову только этот способ пришел.
я проверяю простым пингом
вот такой скрипт у меня дает данные в mrtg для графика работоспособности канала и инернета вообще:
if ping -c 1 -I eth1 -w 1 $1 > /dev/null; then
  echo "1000";
else
  echo "0";
fi
if ping -c 1 -I eth1 -w 1 $2 > /dev/null; then
  echo "1000";
else
  echo "0";
fi
/usr/bin/uptime
echo "Internet"

в качестве параметров идет адрес шлюза провайдера и адрес какого-нибудь гарантированно работающего хоста в интернете типа mail.ru

  Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "Туплю. Нужен взгляд со стороны."
Сообщение от anton emailИскать по авторуВ закладки on 04-Фев-04, 10:52  (MSK)
>>А как лучше, грамотней. Мне просто в голову только этот способ пришел.
>я проверяю простым пингом
>вот такой скрипт у меня дает данные в mrtg для графика работоспособности
>канала и инернета вообще:
>if ping -c 1 -I eth1 -w 1 $1 > /dev/null; then
>  echo "1000";
>else
>  echo "0";
>fi
>if ping -c 1 -I eth1 -w 1 $2 > /dev/null; then
>  echo "1000";
>else
>  echo "0";
>fi
>/usr/bin/uptime
>echo "Internet"
>
>в качестве параметров идет адрес шлюза провайдера и адрес какого-нибудь гарантированно работающего
>хоста в интернете типа mail.ru


вариант неплохой но у меня несколько маршрутов, поэтому если один тунель лег то ping всёравно пройдёт

  Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "Туплю. Нужен взгляд со стороны."
Сообщение от seiko_ Искать по авторуВ закладки on 07-Фев-04, 22:07  (MSK)
вы гоните!!!!!
у вас строки не ИДЕНТИЧНЫЕ! как вы их сравнивать собираетесь?

#!/bin/sh
tun=`/sbin/ifconfig -a | /usr/bin/grep "192.168.130.1"`
tun_true="inet 192.168.130.2 --> 192.168.130.1 netmask 0xffffff00"
if [ $tun = $tun_true ] ; then
echo "Ok"
fi

может проще ?!
#!/bin/sh
tun_res=`/sbin/ifconfig -a | /usr/bin/grep "192.168.130.1"`
res=`echo $?`

if [ $res -ne 0 ];then
echo "tun DOWN"  # or run other command
fi

  Рекомендовать в FAQ | Cообщить модератору | Наверх

19. "Туплю. Нужен взгляд со стороны."
Сообщение от anton emailИскать по авторуВ закладки on 09-Фев-04, 10:19  (MSK)
>вы гоните!!!!!
>у вас строки не ИДЕНТИЧНЫЕ! как вы их сравнивать собираетесь?
>
В итоге я пришёл к тому же выводу, потому и сделал так
tun=`/sbin/ifconfig -a | /usr/bin/grep "192.168.130.1" | awk '{print $2}'`
вот только почему они различные не понимаю

>#!/bin/sh
>tun=`/sbin/ifconfig -a | /usr/bin/grep "192.168.130.1"`
>tun_true="inet 192.168.130.2 --> 192.168.130.1 netmask 0xffffff00"
>if [ $tun = $tun_true ] ; then
>echo "Ok"
>fi
>
>может проще ?!
>#!/bin/sh
>tun_res=`/sbin/ifconfig -a | /usr/bin/grep "192.168.130.1"`
>res=`echo $?`
>
>if [ $res -ne 0 ];then
>echo "tun DOWN"  # or run other command
>fi


  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "Туплю. Нужен взгляд со стороны."
Сообщение от Михаил emailИскать по авторуВ закладки on 08-Фев-04, 08:33  (MSK)
>вариант неплохой но у меня несколько маршрутов, поэтому если один тунель лег
>то ping всёравно пройдёт
но ведь я же указываю конкретный интерфейс для пинга...
что мешает сделать копии этого скрипта для всех интерфейсов?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

18. "Туплю. Нужен взгляд со стороны."
Сообщение от anton emailИскать по авторуВ закладки on 09-Фев-04, 10:18  (MSK)
>>вариант неплохой но у меня несколько маршрутов, поэтому если один тунель лег
>>то ping всёравно пройдёт
>но ведь я же указываю конкретный интерфейс для пинга...
>что мешает сделать копии этого скрипта для всех интерфейсов?
Да вариант хороший но не для моего случая. Тот же фаервол.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

17. "Туплю. Нужен взгляд со стороны."
Сообщение от Aquarius Искать по авторуВ закладки on 09-Фев-04, 09:33  (MSK)
>if [ $tun = $tun_true ] ; then

>выдаёт
>[: 192.1681.130.2: unexpected operator
>
>Как правильно?

$tun и $tun_true необходимо, так сказать, "отквотить".

  Рекомендовать в FAQ | Cообщить модератору | Наверх

20. "Туплю. Нужен взгляд со стороны."
Сообщение от anton emailИскать по авторуВ закладки on 09-Фев-04, 10:20  (MSK)
>>if [ $tun = $tun_true ] ; then
>
>>выдаёт
>>[: 192.1681.130.2: unexpected operator
>>
>>Как правильно?
>
>$tun и $tun_true необходимо, так сказать, "отквотить".

А поподробней нельзя, так на будущее чтоб знать.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

21. "Туплю. Нужен взгляд со стороны."
Сообщение от roma emailИскать по авторуВ закладки on 10-Фев-04, 14:36  (MSK)
Попробуй так:

#!/bin/sh
tun=`/sbin/ifconfig -a | /usr/bin/grep "192.168.130.1" | /usr/bin/tr '\t' ' ' | /usr/bin/sed 's/^ *//g'`
tun_true="inet 192.168.130.2 --> 192.168.130.1 netmask 0xffffff00"
if [ "$tun" = "$tun_true" ] ; then
echo "Ok"
fi


>Есть скриптик. Цель когда пропадает тунель запускатьдругие скрипты. И вот уже часа
>два не могу его дописать. Гляньте какую галочку я забываю?
>
>#!/bin/sh
>tun=`/sbin/ifconfig -a | /usr/bin/grep "192.168.130.1"`
>tun_true="inet 192.168.130.2 --> 192.168.130.1 netmask 0xffffff00"
>if [ $tun = $tun_true ] ; then
>echo "Ok"
>fi
>
>выдаёт
>[: 192.1681.130.2: unexpected operator
>
>Как правильно?


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру