@leonidpetrosian

Как сделать UI на Bash?

Доброго времени суток!

Суть вопроса:
Есть некий проект на Python который достиг таких размеров, что вводить данные построчно и/или в sysargs уже не удобно, но не дорос, чтобы делать под него полноценный GUI.
В голове представляется простенький UI на bash. Как мини утилита/программа (в качестве примера: текстовый редактор nano)
В силу малой ознакомленность с bash (а может и технической безграмотностью) не знаю в какую сторону копать. Прошу дать направление!

Заранее всем спасибо!
  • Вопрос задан
  • 430 просмотров
Решения вопроса 1
беглый уткопоиск дает сразу же ответ - ui на bash !
Zenity !

причем как выяснилось он(а) еще, и уже, установлен(а) (в Linux Mint 18.3)

и все не просто а очень просто, вот пример окна с формой:
zenity --forms --title="Add Friend" \
	--text="Enter information about your friend." \
	--separator="," \
	--add-entry="First Name" \
	--add-entry="Family Name" \
	--add-entry="Email" \
	--add-calendar="Birthday"


zenity-forms-screenshot.png

результат вовзращается в stdout в csv формате.

смотрите Руководство Zenity

UPD:

так же есть Whiptail для текстовых пользовательских интерфейсов (TUI)
так же уже есть в системе.

advmenu.gif

Bash GUI Whiptail Menu Tutorial Part 1
Bash Shell Scripting/Whiptail

А так же Glade
см. ролики на youtube - BASH Tutorial - Advanced GUI Interface
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@pfemidi
Тут могло бы быть краткое описание меня
Вот направление:

[pfemidi@localhost ~]$ dnf info dialog
Last metadata expiration check: 0:00:30 ago on Mon 28 Oct 2019 08:02:00 PM MSK.
Available Packages
Name         : dialog
Version      : 1.3
Release      : 16.20180621.fc30
Architecture : i686
Size         : 234 k
Source       : dialog-1.3-16.20180621.fc30.src.rpm
Repository   : fedora
Summary      : A utility for creating TTY dialog boxes
URL          : https://invisible-island.net/dialog/dialog.html
License      : LGPLv2
Description  : Dialog is a utility that allows you to show dialog boxes (containing
             : questions or messages) in TTY (text mode) interfaces.  Dialog is called
             : from within a shell script.  The following dialog boxes are implemented:
             : yes/no, menu, input, message, text, info, checklist, radiolist, and
             : gauge.
             : 
             : Install dialog if you would like to create TTY dialog boxes.

[pfemidi@localhost ~]$
Ответ написан
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Bash для этого абсолютно не предназначен. Даже если что-то и можно на нём нагородить, то на Python на много быстрее и проще.
Ответ написан
@vitaly_il1
DevOps Consulting
Я бы сделал файл конфигурации - или просто текстовой формат типа

ххх = 123

или в модном YAML
Ответ написан
https://habr.com/ru/post/126701/
Хоть есть ярые противники GUI, но он явно имеет право на существование. Такие диалоги можно получить с помощью команды kdialog (если графической оболочкой выступает KDE), либо gdialog и zenity (для Gnome).

Я делал кое-что на kdialog - мне понравилось.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы