Fed*_*eli 13 command-line gnome-terminal 21.10
当不带参数执行该命令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
Run Code Online (Sandbox Code Playgroud)
但是,输出“ Ubuntu 21.10
”像超链接一样带有下划线,当您Ctrl单击时,它将打开一个带有以下链接地址的网络浏览器:https://ubuntu.com/
。
这是如何实现的?我需要从基于文本的程序或脚本输出哪些终端命令(转义序列?)以在终端上创建此类超链接?
Fed*_*eli 19
Ask Ubuntu中没有此信息,但我在另一个站点中找到了答案:https ://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda
创建上述链接的转义序列是:
printf '\e]8;;https://ubuntu.com/\e\\Ubuntu 21.10\e]8;;\e\\\n'
Run Code Online (Sandbox Code Playgroud)
一般格式为:
\e]8
序列( ESC, ], 和8),\e\
转义序列(ESC和\)其中params
是可选的: \e]8;params;URI\e\\
然后是将被绘制为超链接的内容。
超链接使用相同的转义序列(如步骤 1 中所示)关闭,但省略params和URI,但保留分隔符:\e]8;;\e\\
作为这个答案的额外好处,我建议您在文件中使用以下别名~/.bash_aliases
:
alias ll="LC_COLLATE=C ls --hyperlink=auto --group-directories-first --color=auto -alF"
Run Code Online (Sandbox Code Playgroud)
在这里,--hyperlink
参数将指示ls
命令在终端输出上自动创建文件名的超链接,这样当单击它们时,它们将在Nautilus或关联的应用程序Ctrl中打开。
归档时间: |
|
查看次数: |
7307 次 |
最近记录: |