Рейтинг:11

Создание гиперссылки из вывода командной строки на терминале

флаг cn

Команда hostnamectl, когда выполняется без аргументов, выводит кучу информации на терминал. Одним из них является Операционная система строку, как показано в примере вывода ниже:

$ hostnamectl  
 Статическое имя хоста: xxxxxx
       Название значка: компьютер-ноутбук
         шасси: ноутбук
      Идентификатор машины: e8..43
         Идентификатор загрузки: 7b..2a
Операционная система: Ubuntu 21.10
          Ядро: Linux 5.13.0-28-универсальный
    Архитектура: x86-64
 Поставщик оборудования: XXXXXX
  Аппаратная модель: XXXXXX

Однако выход»Убунту 21.10" подчеркнута как гиперссылка, и когда вы Ctrl+ щелкните, откроется веб-браузер со следующим адресом ссылки: https://ubuntu.com/.

Как это достигается? Какие команды терминала (escape-последовательности?), что мне нужно вывести из текстовой программы или скрипта, чтобы создать такую ​​гиперссылку на терминале?

Рейтинг:13
флаг cn

Эта информация отсутствовала в Спросите Ubuntu, но я нашел ответ на другом сайте: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda

escape-последовательность для создания вышеуказанной ссылки:

printf '\e]8;;https://ubuntu.com/\e\Ubuntu 21.10\e]8;;\e\n'

Общий формат:

Последовательность открытия гиперссылки начинается с

  • в \е]8 escape-последовательность (ESC, ], и 8),
  • в параметры,
  • в целевой URI, и
  • закрытие \е\ escape-последовательность (ESC и \)

куда параметры является необязательным: \e]8;параметры;URI\e\

Затем идет контент, который будет отображаться как гиперссылка.

Гиперссылка закрывается той же управляющей последовательностью, опуская параметры и URI, но сохраняя разделители: \е]8;;\е\


В качестве бонуса к этому ответу я предлагаю вам использовать следующий псевдоним в вашем ~/.bash_aliases файл:

псевдоним ll="LC_COLLATE=C ls --hyperlink=auto --group-directories-first --color=auto -alF"

Здесь --гиперссылка аргумент будет направлять лс команда для автоматического создания гиперссылки для имен файлов на выходе терминала, так что, когда они Ctrl+нажал, они откроются через Наутилус или соответствующее приложение.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.