Использование команды break в качестве аргумента функции

Как насчет использования такого решения?

Функции выполняются в цикле (цикл?). В этом цикле – у меня есть еще одна функция, которая также использует цикл. Когда вторая функция получает НЕТ ответа от пользователя – он отправляет break 2 чтобы остановить цикл, и продолжить действия основного скрипта.

Функция использует переменные, заданные в файле.

Итак, это хорошая идея использования переменных в качестве параметров для функций?

  • Функция bash, которая принимает аргумент как другие языки?
  • Как назначить результат sed переменной
  • Использование! N в сценарии или в интерактивном режиме
  • перенаправление на / dev / null
  • вывод printf в следующую строку
  • Копировать команду из истории в приглашение bash
  • Проблема с небольшим сценарием bash
  • Отключение видеовыхода по умолчанию с помощью xrandr при подключении внешнего монитора
  • One Solution collect form web for “Использование команды break в качестве аргумента функции”

    Один из вариантов, который может быть более чистым, состоит в том, чтобы вернуть answer 0 или вернуть 1, в зависимости от того, сказал ли пользователь « yes или « no . Затем проверьте значение answer в том месте, где вы его вызываете, и выполняйте только действие, если answer возвращается 0.

    Основываясь на вашем предыдущем скрипте, он будет выглядеть примерно так:

     while tomcat_running && user_wants_to_stop_tomcat; do echo "$tomcat_status_stopping" kill $RUN sleep 2 done function tomcat_running() { check_tomcat_status [ -n "$RUN" ] } function user_wants_to_stop_tomcat() { answer "WARNING: Tomcat still running. Kill it? " } function answer() { while true; do printf "$1" read response case $response in [yY][eE][sS]|[yY]) return 0 ;; [nN][oO]|[nN]) return 1 ;; *) printf "Please, enter Y(yes) or N(no)!\n" ;; esac done } 
    Interesting Posts

    Использование nmcli для установки маски подсети и IP-адреса шлюза

    Bash for loop создает папки; мне нужно избегать некоторых символов?

    Перемещение по серверу между общими ресурсами NFS

    Интерфейс не работает с интерфейсом ip link set up

    Получите исключительную блокировку чтения / записи в файле для атомных обновлений

    Двойные окна загрузки на втором жестком диске, система UEFI / GPT

    Требуется ли для 32-разрядной ОС аппаратная виртуализация для запуска KVM?

    Удалить квоту пользовательского пространства в Ubuntu 12.04?

    Как добавить элемент в массив в конвейере?

    перечислить принадлежащий ему файл / каталоги и изменить его разрешения

    Конкатенатная таблица без заголовка

    Создает ли Linux mvn-команда? каталог

    Длинногенерирующий запрос Bash обертывает неправильно, когда я начинаю вводить текст

    Как продолжить скрипт после закрытия X?

    shell-скрипты все еще работают без #! (строка sha-bang)

    Linux и Unix - лучшая ОС в мире.