Puncte:11

Crearea unui hyperlink de la ieșirea din linia de comandă pe un terminal

drapel cn

Comanda hostnamectl, când este executat fără argument, va arunca o grămadă de informații în terminal. Una dintre acestea este Sistem de operare linie așa cum se arată în exemplul de ieșire de mai jos:

$ hostnamectl  
 Nume gazdă static: xxxxxx
       Numele pictogramei: computer-laptop
         Sasiu: laptop
      ID mașină: e8..43
         ID boot: 7b..2a
Sistem de operare: Ubuntu 21.10
          Kernel: Linux 5.13.0-28-generic
    Arhitectură: x86-64
 Furnizor de hardware: XXXXXX
  Model hardware: XXXXXX

Cu toate acestea, ieșirea "Ubuntu 21.10" este subliniat ca un hyperlink și când dvs Ctrl+clic, se va deschide un browser web cu următoarea adresă de link: https://ubuntu.com/.

Cum se realizează acest lucru? Care sunt comenzile terminalului (secvențe de evadare?) că trebuie să scot dintr-un program sau script bazat pe text pentru a crea un astfel de hyperlink pe terminal?

Puncte:13
drapel cn

Această informație nu a fost prezentă în Întrebați Ubuntu, dar răspunsul l-am găsit pe alt site: https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda

The secvență de evadare pentru a crea linkul de mai sus este:

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

Formatul general este:

Secvența de deschidere a hyperlinkului începe cu

  • cel \e]8 secvență de evadare (ESC, ], și 8),
  • cel parametrii,
  • cel URI țintă, și
  • inchiderea \e\ secvență de evadare (ESC și \)

Unde parametrii este optional: \e]8;params;URI\e\

Apoi urmează conținutul care va fi pictat ca hyperlink.

Hyperlinkul este închis cu aceeași secvență de evadare, omițând parametrii si URI, dar păstrând separatoarele: \e]8;;\e\


Ca un bonus la acest răspuns, vă sugerez să utilizați următorul alias în dvs ~/.bash_aliases fişier:

alias ll="LC_COLLATE=C ls --hyperlink=auto --group-directories-first --color=auto -alF"

Aici --hiperlink argumentul va direcționa ls comandă pentru a crea automat hiperlinkuri pentru numele de fișiere pe ieșirea terminalului, astfel încât atunci când sunt Ctrl+a făcut clic pe se vor deschide în Nautilus sau aplicația asociată.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.