URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4326
[ Назад ]

Исходное сообщение
"переход на метку "

Отправлено lintech , 03-Июн-05 15:32 
СПАСИТЕ !!!

Очень срочно нужно написать вот такой скрипт, а так как я в shell скриптах почти ноль - то :(

а надо вот что:

метка 1:  выполнение команды 1
        if всё хорошо then sleep 60, goto метка 1
else
       выполнение команды 2
if всё хорошо then выполнение команды 3, goto метка 1

else sleep 60, goto метка 2


Проблема в том что в shell нет GOTO :(
а как заменить - не знаю :(


ОЧЕНЬ ЖДУ ПОМОЩИ !


Содержание

Сообщения в этом обсуждении
"переход на метку "
Отправлено unk , 03-Июн-05 15:52 
Например так:
while :; do
  cmd1
  if [ $? -eq 0 ]; then
    sleep 60
  else
    while :; do
      cmd2
      if [ $? -eq 0 ]; then
        cmd3
        break
      else
        sleep 60
      fi
    done
  fi
done

"переход на метку "
Отправлено lintech , 03-Июн-05 16:05 
>Например так:
>while :; do
>  cmd1
>  if [ $? -eq 0 ]; then
>    sleep 60
>  else
>    while :; do
>      cmd2
>      if [ $? -eq 0 ];
>then
>        cmd3
>        break
>      else
>        sleep 60
>      fi
>    done
>  fi
>done


а можно с коментариями - что куда и когда переходит ?
а то я нифига не понял принцып выбора направления перехода


"переход на метку "
Отправлено unk , 03-Июн-05 16:15 
>а можно с коментариями - что куда и когда переходит ?
>а то я нифига не понял принцып выбора направления перехода
Вы хотите, чтобы я процитировал Ваш первый пост?

"переход на метку "
Отправлено lintech , 03-Июн-05 16:24 
>>а можно с коментариями - что куда и когда переходит ?
>>а то я нифига не понял принцып выбора направления перехода
>Вы хотите, чтобы я процитировал Ваш первый пост?

решил использовать csh, там есть goto label



"переход на метку "
Отправлено lintech , 03-Июн-05 17:08 
>>>а можно с коментариями - что куда и когда переходит ?
>>>а то я нифига не понял принцып выбора направления перехода
>>Вы хотите, чтобы я процитировал Ваш первый пост?
>
>решил использовать csh, там есть goto label

блин ! а почему в csh  не срабатывает такое:

#!/bin/csh

/bin/ping -c3 google.com
if [ "$?" != "0" ];
then ....


"переход на метку "
Отправлено lintech , 03-Июн-05 18:33 
на bash написал такое:

#!/bin/bash

    
ping -c1 -w1 meta.ua
if [ "$?" = "0" ];
then
    echo $?
    echo good
else
    echo $?
    echo nogood
fi

работает !

но то же самое но на csh выдаёт Illegal variable name

подскажите где грабли ?
а надо именно на csh, так как там есть goto метка


"переход на метку "
Отправлено unk , 03-Июн-05 18:50 
>подскажите где грабли ?
$?, и далее по тексту.

>а надо именно на csh, так как там есть goto метка
читать man csh про  pre-defined variables обратив особое внимание на $status


"переход на метку "
Отправлено lintech , 03-Июн-05 19:27 
>>подскажите где грабли ?
>$?, и далее по тексту.
>
>>а надо именно на csh, так как там есть goto метка
>читать man csh про  pre-defined variables обратив особое внимание на $status
>

ОГРОМНЕЙШЕЕ СПАСИБО - начало получаться ! :)