Если вы потратили значительное количество времени на написание сценариев для сред Bash или tcsh, то, скорее всего, вы использовали команду echo для передачи данных пользователю. Эта команда может отображать переменные среды, а также сообщения, но есть альтернатива, если вы просто пытаетесь отправить сообщение пользователю, если вы писали, скажем, сценарий установки. Эта альтернатива позволяет отображать ваше сообщение в окне, которое значительно удобнее для пользователя. Он также должен казаться более современным во многих обстоятельствах.
Технически команда xmessage может дополнительно использоваться для передачи переменных среды пользователю. Синтаксис идентичен echo, поэтому, если вы уже привыкли использовать эту команду, у вас не должно возникнуть дополнительных трудностей с использованием xmessage вместо нее.
Метод 1: Использование команды xmessage вместо Echo
Хотя вы можете использовать эти команды из диалогового окна запуска, открываемого удерживанием клавиши Windows и нажатием R или даже командной строки CLI, они наиболее полезны внутри сценария. Допустим, вы хотите приостановить сценарий установки и запросить у пользователя ввод. Добавьте эту строку в свой скрипт:
xmessage Нажмите кнопку ОК, чтобы продолжить.
Когда ваш скрипт выполняется, вы генерируете диалоговое окно для пользователя.
Команда также может использоваться для вывода переменной среды во время выполнения любого типа скрипта. Возьмем, к примеру, если вы хотели отобразить код, используемый в текущем приглашении пользователя. Команда xmessage $ PS1 генерирует вывод на основе этого, хотя она будет работать только в том случае, если пользователь выполнит это из окна терминала или позволит своему файловому менеджеру сделать это.
Метод 2: создание кнопок с помощью xmessage
Программисты сценариев могут использовать xmessage для создания кнопок для выбора пользователем. Учитывая следующую строку:
xсообщение 'Кто-нибудь меня слышит?' -кнопки да, нет
Текст, отображаемый в поле, был заключен в кавычки. После этого команда кнопок закрепления содержит подписи к кнопкам, разделенные запятыми. Значения выхода равны 100 плюс номер нажатой кнопки, поэтому можно узнать, какую из них выбрал пользователь. Вы можете создать дополнительные кнопки помимо двух основных, вот так:
xсообщение «Помните это сообщение?» -кнопки Abort, Retry, Fail
Это упрощает написание сценариев Bash и tcsh для тех, кто не хочет работать с терминалом.
2 минуты на чтение