Иногда нужно приостановить вывод в скрипте, чтобы обратить внимание пользователя на информацию и убедиться, что пользователь увидел её (или имел возможность её увидеть).
В Bash это можно сделать с помощью утилиты read. Эта утилита читает строку из стандартного ввода.
Пример использования:
read -p "Нажмите ENTER для продолжения"
Эта команда позволит пользователю продвинуться далее (а скрипт продолжит выполнение) после того, как пользователь нажмёт кнопку ENTER.
Если вам нужно, чтобы для продолжения можно было нажать любую кнопку, то используйте следующую конструкцию:
read -n 1 -s -r -p "Нажмите любую кнопку для продолжения"
В этой команде следующее значение опций:
-n определяет количество символов, после которого будет остановлено чтение. По умолчанию чтение останавливается при вводе разделителя строк (например, кнопкой ENTER). В нашем случае команда read перестаёт считывать вводимые данные после первого символа
-s скрывает пользовательский ввод
-r приводит к тому, что строка будет интерпретирована как «сырая» (без учёта экранирования обратными слэшами). То есть обратным слэшам не будет позволено экранировать символы
-p как и в первом примере, содержит сообщение, показываемое пользователю.
Связанные статьи:
- Как в Bash прочитать ввод пользователя в переменную? (94.3%)
- Доступ к аргументам командной строки в C++ (55.8%)
- Как создавать диалоговые блоки в интерактивных shell скриптах (53.9%)
- Как в Bash проверить, содержит ли строка подстроку (53.9%)
- Что такое башизм (bashisms) (53.9%)
- Как вывести список только директорий используя ls в Bash (RANDOM - 3.9%)