Nano Hash - криптовалюты, майнинг, программирование

Как создать интерфейс в сценарии bash, который использует стрелки для навигации?

Я все время использую кучу скриптов, и мне надоело постоянно вводить команды в терминале, поэтому я хотел бы написать какой-то пользовательский интерфейс. Подумайте о чем-то вроде «aptitude» с обновлениями в реальном времени через цикл, например «top». Это VPS, поэтому я не могу сделать это графически.

Все, что мне нужно, это простое меню, перемещение между элементами с помощью стрелок и тому подобное. Есть ли хороший учебник, возможно ли это вообще с bash?

Спасибо заранее за ваше время.



Ответы:


1

Взгляните на команду dialog. Он позволяет создавать визуальные виджеты пользовательского интерфейса, которые могут обрабатывать ввод с клавиатуры (и даже с помощью мыши).

У вас есть варианты для создания полей ввода, меню, текстовых полей, флажков и многих других.

Подумайте об интерфейсе, похожем на mc, хотя сам mc представляет собой нечто большее.

16.05.2011
  • Большое спасибо, выглядит отлично. Я надеялся, что в bash есть какие-то команды, чтобы мне не пришлось получать другой пакет. Если вы знаете какое-либо другое решение, в котором все это можно было бы сделать только в BASH, сообщите мне. В противном случае большое спасибо, я буду использовать это. 16.05.2011
  • К сожалению, я не знаю ничего с меньшими требованиями и близкого к такому мощному. Но с одним только bash вы можете сделать довольно много, если не боитесь ручного кодирования (и готовы самостоятельно обрабатывать управляющие последовательности терминала). 16.05.2011
  • Хорошо, тогда давайте посмотрим на эти escape-последовательности терминала :D Большое спасибо за вашу помощь. 16.05.2011

  • 2

    Это VPS, поэтому я не могу сделать это графически

    Не совсем верно. Вы когда-нибудь слышали о технологии удаленного рабочего стола? Например, X2Go.

    Следует признать, что многие графические приложения и среды рабочего стола могут быть слишком тяжелыми для комфортной работы на небольшом VPS. Но это возможно хотя бы теоретически.

    16.05.2011
  • Собственно, это я и пытался понять с самого начала. Однако каждый человек, с которым я разговаривал, отговаривал меня от этого. Я подумал, что было бы здорово иметь безголовый linux-бокс на магистрали. Я также пытался установить на него полноценный пакет рабочего стола Ubuntu, но это почему-то не удалось, поэтому, если вы хотите помочь, это будет приветствоваться :) 16.05.2011
  • Сколько оперативной памяти у вас на VPS? Если GNOME потерпит неудачу, вы можете попробовать что-то более легкое, например XFCE или xmonad. Но на самом деле вам вообще не нужна среда рабочего стола, только для запуска графических приложений. 16.05.2011
  • У меня около 1500MB RAM на VPS. 16.05.2011
  • Как это сработает? Я бы просто установил графическую серверную систему, а затем подключился к ней с рабочего стола Win или Ubuntu? Какой клиент я бы использовал? 16.05.2011
  • Удивительно, это больше, чем у меня на компьютере! Честно говоря, я бы просто запускал графическую программу напрямую с помощью ssh -Y hostname progname. Это медленно, но, по крайней мере, удобно — если вам нужно больше скорости, вы можете установить что-то вроде X2Go, но это немного больше работы. 16.05.2011
  • Итак... Мне просто нужно установить X3GO, или мне нужно будет также установить что-то вроде Gnome или KDE? 16.05.2011
  • Для меня звучит логично, что меня заставляют установить что-то вроде оконного режима (извините за терминологию, я новичок в Linux), например, KDE. Потому что прямо сейчас мой единственный пользовательский интерфейс — это CLI, и я не думаю, что на VPS установлено что-то еще, это просто будет потреблять ресурсы и пространство, верно? 16.05.2011
  • Да, но, как я уже сказал, вы можете использовать более легкую альтернативу KDE или GNOME, например XFCE. 16.05.2011
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..