Привет, ребята, в моем последнем посте я наконец-то добился того, чего хотел, и это можно увидеть в моем PR, который можно найти здесь. Это было все об Ajax и о том, как я улучшил процедуру установки с помощью Ajax.

Поставив на этом паузу, я продолжил писать свой сценарий оболочки.

Сценарий оболочки представляет собой текстовый файл, содержащий последовательность команд для операционной системы на базе UNIX. Он называется сценарием оболочки, потому что он объединяет в скрипт в одном файле последовательность команд, которые в противном случае должны были бы вводиться в систему с клавиатуры по одной за раз. Оболочка — это интерпретатор команд операционной системы и набор команд, которые вы используете для связи с системой. Сценарий оболочки обычно создается для последовательностей команд, в которых пользователь постоянно нуждается. Вы инициируете последовательность команд в сценарии оболочки, просто вводя имя сценария оболочки в командной строке.

Скриншот моего сценария оболочки можно увидеть ниже

По сути, этот сценарий предназначен для обновления вашей системы, чтобы программное обеспечение LibreEHR могло работать без сбоев и обеспечивать хороший UX. Это только для систем Unix/Linux, особенно для дистрибутивов Debian.

Я начал с подробной инструкции пользователю о том, как запустить скрипт, это видно на скриншоте ниже.

В моем сценарии я общаюсь с пользователем через графический интерфейс. Такие вещи, как вы хотите установить эти пакеты… Для этого я использовал встроенный инструмент zenity.

этот инструмент позволяет мне сообщать пользователю о возможных действиях, предпринятых сценарием, например, «доверяете ли вы LibreHealth установку следующих действий?». Если нажата кнопка «Нет», сценарий немедленно завершает работу. Фрагмент этого можно увидеть в строках кода ниже.

librehr.sh

zenity — вопрос — ширина = 350 — высота = 100 — текст = «Вы хотите установить этот пакет?» — title="Обновление LibrehealthEHR" 2› /dev/null
test=$? #получить ответ из диалогового окна

#сравнение полученного значения, чтобы увидеть, принял ли пользователь или нет
if [[ $test -eq $deny ]]; затем
эхо «обновление остановлено. Пользователь завершил действие»
exit;
else
echo «использовать принято»
fi

При этом я могу выйти из сценария или позволить сценарию продолжить установку.

Также одним очень важным аспектом является тот факт, что я запрашиваю пароль root, конечно, никто не захочет устанавливать пакеты из ненадежных сторонних материалов, и, кроме того, как простой пользователь. Поэтому я гарантирую, что установку выполняет корень. Это было достигнуто этой строкой. это проверяет, является ли пользователь root или нет.

if [[ «$EUID» = 0 ]]; тогда….

еще

sudo -k # не забудьте запросить пароль при следующем sudo
if sudo true; затем

Когда это будет сделано, я могу с радостью установить пакеты в системе пользователей, используя следующую команду

sudo apt-get install ‹package1›; sudo apt-get install ‹package2›

Короче говоря, сценарии устанавливают пакеты, необходимые для бесперебойной работы программного обеспечения LibreHealth EHR. Теперь я с нетерпением жду возможности написать эквивалентный скрипт для Mac OS. А пока вы можете посмотреть мой пулреквест здесь

Чемпионат мира по футболу

Я не закончу этот пост, не рассказав о своем волнении. По ходу игры я реализовывал сценарий и финальные экраны установки. Я люблю хорватский футбол и поддерживал их, но не смог посмотреть шоу, потому что был занят реализацией своего кода. Тем не менее, на серии пенальти я с бешеной скоростью побежал смотреть шоу. К счастью для меня, Хорватия вышла в полуфинал.

Теперь я могу сказать, что у меня был отличный день. и собираюсь хорошенько выспаться. До тех пор, ребята ;).