不带参数执行命令hostnamectl
时,会将一堆信息转储到终端。其中之一是Operating System
如下示例输出中所示的行:
$ hostnamectl
Static hostname: xxxxxx
Icon name: computer-laptop
Chassis: laptop
Machine ID: e8..43
Boot ID: 7b..2a
Operating System: Ubuntu 21.10
Kernel: Linux 5.13.0-28-generic
Architecture: x86-64
Hardware Vendor: XXXXXX
Hardware Model: XXXXXX
但是,输出“ Ubuntu 21.10
”像超链接一样带有下划线,当您Ctrl单击时,它将打开一个带有以下链接地址的网络浏览器:https://ubuntu.com/
.
这是如何实现的?我需要从基于文本的程序或脚本输出哪些终端命令(转义序列?)才能在终端上创建这样的超链接?
Ask Ubuntu中不存在此信息,但我在另一个站点中找到了答案:https ://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
创建上述链接的转义序列是:
一般格式为:
超链接打开顺序以
\e]8
转义序列(、和)ESC,]8\e\
转义序列( ESCand \)哪里
params
是可选的:\e]8;params;URI\e\\
然后是将被绘制为超链接的内容。
超链接以相同的转义序列关闭,省略params和URI,但保留分隔符:
\e]8;;\e\\
作为这个答案的奖励,我建议您在
~/.bash_aliases
文件中使用以下别名:在这里,
--hyperlink
参数将指示ls
命令自动为终端输出上的文件名创建超链接,这样当它们被Ctrl+click 时,它们将在Nautilus或关联的应用程序中打开。