Как использовать приложение xmessage внутри сценариев оболочки



Попробуйте наш инструмент устранения неполадок

Если вы потратили значительное количество времени на написание сценариев для сред Bash или tcsh, то, скорее всего, вы использовали команду echo для передачи данных пользователю. Эта команда может отображать переменные среды, а также сообщения, но есть альтернатива, если вы просто пытаетесь отправить сообщение пользователю, если вы писали, скажем, сценарий установки. Эта альтернатива позволяет отображать ваше сообщение в окне, которое значительно удобнее для пользователя. Он также должен казаться более современным во многих обстоятельствах.



Технически команда xmessage может дополнительно использоваться для передачи переменных среды пользователю. Синтаксис идентичен echo, поэтому, если вы уже привыкли использовать эту команду, у вас не должно возникнуть дополнительных трудностей с использованием xmessage вместо нее.



Метод 1: Использование команды xmessage вместо Echo

Хотя вы можете использовать эти команды из диалогового окна запуска, открываемого удерживанием клавиши Windows и нажатием R или даже командной строки CLI, они наиболее полезны внутри сценария. Допустим, вы хотите приостановить сценарий установки и запросить у пользователя ввод. Добавьте эту строку в свой скрипт:



xmessage Нажмите кнопку ОК, чтобы продолжить.

Когда ваш скрипт выполняется, вы генерируете диалоговое окно для пользователя.

xmessagea



Команда также может использоваться для вывода переменной среды во время выполнения любого типа скрипта. Возьмем, к примеру, если вы хотели отобразить код, используемый в текущем приглашении пользователя. Команда xmessage $ PS1 генерирует вывод на основе этого, хотя она будет работать только в том случае, если пользователь выполнит это из окна терминала или позволит своему файловому менеджеру сделать это.

xmessageb

Метод 2: создание кнопок с помощью xmessage

Программисты сценариев могут использовать xmessage для создания кнопок для выбора пользователем. Учитывая следующую строку:

xсообщение 'Кто-нибудь меня слышит?' -кнопки да, нет

xmessagec

Текст, отображаемый в поле, был заключен в кавычки. После этого команда кнопок закрепления содержит подписи к кнопкам, разделенные запятыми. Значения выхода равны 100 плюс номер нажатой кнопки, поэтому можно узнать, какую из них выбрал пользователь. Вы можете создать дополнительные кнопки помимо двух основных, вот так:

xсообщение «Помните это сообщение?» -кнопки Abort, Retry, Fail

xmessaged

Это упрощает написание сценариев Bash и tcsh для тех, кто не хочет работать с терминалом.

2 минуты на чтение