Как да използвам приложението xmessage в скриптове на Shell



Опитайте Нашия Инструмент За Премахване На Проблемите

Ако сте прекарали значително време за писане на скриптове за Bash или tcsh среди, тогава повече от вероятно сте използвали командата echo за предаване на данни на потребителя. Тази команда може да повтаря променливи на средата, както и съобщения, но има алтернатива, ако просто се опитвате да изпратите съобщение до потребителя, ако пишете, да речем, скрипт за инсталиране. Тази алтернатива позволява съобщението ви да се показва в прозорец, който е значително по-удобен за потребителя. Той също така трябва да изглежда по-модерен при много обстоятелства.



Технически командата xmessage може допълнително да се използва за предаване на променливи на околната среда на потребителя. Синтаксисът е идентичен с echo, така че ако вече сте свикнали да използвате тази команда, тогава не би трябвало да имате допълнителни затруднения при използването на xmessage вместо него.



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

Въпреки че можете да използвате тези команди от диалогов прозорец за изпълнение, отворен чрез задържане на клавиша на Windows и натискане на R или дори подкана за CLI, те са най-полезни от скрипта. Да кажем, че сте искали да поставите на пауза инсталационен скрипт и да подканите потребителя за въвеждане. Добавете този ред към вашия скрипт:



xmessage Докоснете бутона за добре, за да продължите.

Когато вашият скрипт се изпълни, ще генерирате диалогов прозорец за потребителя.

xmessagea



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

xmessageb

Метод 2: Създаване на бутони с xmessage

Програмистите на скриптове могат да използват xmessage, за да създават бутони, които потребителят да избира. Имайки предвид следния ред:

xmessage „Може ли някой да ме чуе?“ -бутони да, не

xmessagec

Текстът, който се появява в полето, е затворен в кавички. След това командата tack бутона съдържа етикети на бутони, разделени със запетая, след нея. Изходните стойности са равни на 100 плюс номера на натиснатия бутон, така че е възможно да разберете кой от потребителите е избрал. Можете да създадете допълнителни бутони отвъд основните два точно така:

xmessage „Помните ли този ред?“ -бутони Abort, Retry, Fail

xmessaged

Това улеснява писането на Bash и tcsh скриптове за тези, които не искат да работят с терминал.

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