Помогите начинающему скриптеру:
Как возможно перейти на определенный участок кода, после чего продолжить выполнять уже его?Пример:
echo -n "yes/no"
read testif [ "$test" == "yes" ]; then
/здесь нужен код для перемещения на строку ниже
fiecho "хочу переместиться сюда, и выполнять скрипт уже отсюда"
Обратите внимание - это всего лишь пример для лучшего объяснения чего мне нужно.
Конечно можно скопировать участок кода, на который я хочу переместиться, на место перехода, но тогда скрипт вырастит чуть ли не в 2 раза, что не есть гут.
забавный вопрос :) а почему бы не изменить логику скрипта
echo -n "yes/no"
read testif [ "$test" != "yes" ]; then
/код не будет выполнен
fiecho "без 'перемещений' будет выполняться код 'уже отсюда'"
> забавный вопрос :) а почему бы не изменить логику скриптаВ том-то и дело что такой вариант не подходит.
Опишу ситуацию более детально:
Есть два участка скрипта - первый выполняется в случае если к Самба-шаре никто не подключен, а второй, понятное дело, в случае если кто-то подключен.
Во втором участке выдаем предупреждение что мол так и так - плохие юзвери еще не поодключались, и даем выбор или остановить выполнение скрипта, или отключать юзеров, и переходить на выполнение первого участка кода.
> и переходить на выполнение первого участка кода.оформить 'первый участок кода' как функцию ? и вызывать её дважды
> оформить 'первый участок кода' как функцию ?
> и вызывать её дваждыБыла такая мысль, но подумал что проще будет переходить на определенные строки, что должна быть какая-то команда для перехода на нужную строку.
Похоже придется все таки сделать именно функцию.
>> оформить 'первый участок кода' как функцию ?
>> и вызывать её дважды
> Была такая мысль, но подумал что проще будет переходить на определенные строки,
> что должна быть какая-то команда для перехода на нужную строку."Команда для перехода на нужную строку" - это GOTO? Если да, то вряд ли вы такое найдете.
> Похоже придется все таки сделать именно функцию.
Именно так. Это гораздо удобнее и позволяет удержать код от превращения в "спагетти".
Сделал функцию. Вопрос закрыт.
Всем спасибо за помощь.