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

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

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

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

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

  • Как закодировать функцию чтения в Bash Script?
  • назначение утилиты run-parts (8)
  • Как удалить файлы только, но сохранить структуру каталогов?
  • После перезагрузки Debian после установки
  • Арифметические операции над конкретным столбцом CSV-файла в Bash
  • Отключение видеовыхода по умолчанию с помощью xrandr при подключении внешнего монитора
  • Руководство / помощь с использованием диалога с bash-скриптами
  • Запустить nvm (функция bash) через sudo
  • 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 } 
    Linux и Unix - лучшая ОС в мире.