The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Переход на определенную строку (sh)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Переход на определенную строку (sh)"  +/
Сообщение от Jinx email on 19-Окт-11, 14:59 
Помогите начинающему скриптеру:
Как возможно перейти на определенный участок кода, после чего продолжить выполнять уже его?

Пример:


echo -n "yes/no"
read test

if [ "$test" == "yes" ]; then
    /здесь нужен код для перемещения на строку ниже
fi

echo "хочу переместиться сюда, и выполнять скрипт уже отсюда"

Обратите внимание - это всего лишь пример для лучшего объяснения чего мне нужно.
Конечно можно скопировать участок кода, на который я хочу переместиться, на место перехода, но тогда скрипт вырастит чуть ли не в 2 раза, что не есть гут.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Переход на определенную строку (sh)"  +/
Сообщение от Ager email on 19-Окт-11, 15:29 
забавный вопрос :)     а почему бы не изменить логику скрипта

 
echo -n "yes/no"
read test

if [ "$test" != "yes" ]; then
/код не будет выполнен
fi

echo "без 'перемещений' будет выполняться код  'уже отсюда'"


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Переход на определенную строку (sh)"  +/
Сообщение от Jinx email on 19-Окт-11, 15:41 
> забавный вопрос :)     а почему бы не изменить логику скрипта

В том-то и дело что такой вариант не подходит.
Опишу ситуацию более детально:
Есть два участка скрипта - первый выполняется в случае если к Самба-шаре никто не подключен, а второй, понятное дело, в случае если кто-то подключен.
Во втором участке выдаем предупреждение что мол так и так - плохие юзвери еще не поодключались, и даем выбор или остановить выполнение скрипта, или отключать юзеров, и переходить на выполнение первого участка кода.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Переход на определенную строку (sh)"  +/
Сообщение от Ager email on 19-Окт-11, 15:50 
>  и переходить на выполнение первого участка кода.

оформить 'первый участок кода' как функцию ?      и вызывать её дважды

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Переход на определенную строку (sh)"  +/
Сообщение от Jinx email on 19-Окт-11, 15:57 
> оформить 'первый участок кода' как функцию ?      
> и вызывать её дважды

Была такая мысль, но подумал что проще будет переходить на определенные строки, что должна быть какая-то команда для перехода на нужную строку.
Похоже придется все таки сделать именно функцию.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Переход на определенную строку (sh)"  +/
Сообщение от allez (ok) on 19-Окт-11, 16:24 
>> оформить 'первый участок кода' как функцию ?
>> и вызывать её дважды
> Была такая мысль, но подумал что проще будет переходить на определенные строки,
> что должна быть какая-то команда для перехода на нужную строку.

"Команда для перехода на нужную строку" - это GOTO? Если да, то вряд ли вы такое найдете.

> Похоже придется все таки сделать именно функцию.

Именно так. Это гораздо удобнее и позволяет удержать код от превращения в "спагетти".

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "Переход на определенную строку (sh)"  +/
Сообщение от Jinx email on 19-Окт-11, 16:24 
Сделал функцию. Вопрос закрыт.
Всем спасибо за помощь.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

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




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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