В прошлом мы ввели введение в сценарии оболочки. Вам не обязательно быть программистом, чтобы начать работу с сценариями оболочки - им требуется немного больше, чем знание команд терминала Linux.
Получение Zenity
По умолчанию Zenity поставляется с Ubuntu. Если вы используете производные Ubuntu, такие как Kubuntu, вам может потребоваться установить его вручную с помощью следующей команды:
sudo apt-get install zenity
Zenity является частью GNOME, поэтому он уже должен быть включен в дистрибутивы Linux, которые используют рабочий стол GNOME. Проверьте менеджер пакетов для Zenity если у вас его нет.
Использование Zenity
Вы можете играть с Zenity с терминала. Предположим, вы хотите создать окно ошибки, когда возникает проблема с вашим сценарием оболочки. Вот пример команды, которую вы могли бы использовать:
zenity –error –title=”An Error Occurred” –text=”A problem occurred while running the shell script.”
Предположим, вы хотите задать вопрос «да» или «нет». Вы можете использовать команду, подобную этой:
zenity –question –title=”Query” –text=”Would you like to run the script?”
zenity –entry –title=”Favorite Website” –text=”What is your favorite website?”
Пример сценария
Попробуем использовать Zenity для создания простого графического сценария оболочки. Имея всего три команды, мы можем создать графическую программу таймера:
#!/bin/bash # This script asks the user for a time, waits the specified amount # of time, and shows an alert dialog.
TIME=$(zenity –entry –title=”Timer” –text=”Enter a duration for the timer.
Use 5s for 5 seconds, 10m for 10 minutes, or 2h for 2 hours.”)
sleep $TIME
zenity –info –title=”Timer Complete” –text=”The timer is over.
It has been $TIME.”
Мы используем некоторые дополнительные трюки. Мы получаем значение переменной TIME из первой команды zenity и передаем ее команде sleep. Мы также используем / п для создания новых строк текста в диалоговом окне zenity.
После сохранения сценария оболочки и запуска chmod + x команду на него, чтобы предоставить ему исполняемые разрешения, мы можем запустить его.
Введите продолжительность, и скрипт будет использовать стандартный спать чтобы подсчитать в фоновом режиме. Когда закончится таймер команды сна, сценарий отобразит сообщение с информацией о зените.
Это просто царапает поверхность того, что вы можете сделать с зенитом; вы можете использовать его для создания более сложных программ. Если вы ищете дополнительную информацию о сценариях оболочки, ознакомьтесь с нашим руководством по использованию для циклов в сценариях оболочки.