zaLinux.ru

Как в Bash реализовать «Нажмите любую кнопку для продолжения»


Иногда нужно приостановить вывод в скрипте, чтобы обратить внимание пользователя на информацию и убедиться, что пользователь увидел её (или имел возможность её увидеть).

В Bash это можно сделать с помощью утилиты read. Эта утилита читает строку из стандартного ввода.

Пример использования:

read -p "Нажмите ENTER для продолжения"

Эта команда позволит пользователю продвинуться далее (а скрипт продолжит выполнение) после того, как пользователь нажмёт кнопку ENTER.

Если вам нужно, чтобы для продолжения можно было нажать любую кнопку, то используйте следующую конструкцию:


read -n 1 -s -r -p "Нажмите любую кнопку для продолжения"

В этой команде следующее значение опций:

-n определяет количество символов, после которого будет остановлено чтение. По умолчанию чтение останавливается при вводе разделителя строк (например, кнопкой ENTER). В нашем случае команда read перестаёт считывать вводимые данные после первого символа

-s скрывает пользовательский ввод

-r приводит к тому, что строка будет интерпретирована как «сырая» (без учёта экранирования обратными слэшами). То есть обратным слэшам не будет позволено экранировать символы

-p как и в первом примере, содержит сообщение, показываемое пользователю.


Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *