如何更改我的提示以包含框画 Unicode 字符?

Wuf*_*ers 5 bash command-line ps1

我怎样才能得到一个$PS1包含方框图的字符?

我正在运行 bash,如果它有所作为。

小智 10

如果您有支持 UTF-8 的编辑器,则可以直接输入Unicode 框绘图字符几何形状。就像是:

PS1='??[blah][blah]
??? '
Run Code Online (Sandbox Code Playgroud)

使用编辑器将其写入文件,然后使用 .bash 将文件输入到 bash 会话中source ./myfile。当您准备好保留它时,请将其添加到您的 .bashrc 文件中。

另一种较旧的方法是使用 VT100 转义码切换到终端的画线字符集。在这种情况下,您的 PS1 线路如下所示:

PS1='\[\e(0\]lq\[\e(B\][blah][blah]
\[\e[0\]mq~\[\e(B\] '
Run Code Online (Sandbox Code Playgroud)

\[\]告诉bash中的提示的这些部分都是非印刷,这有助于它知道光标所在做的命令行编辑时。的\e(0切换到线描绘的字符集,以及\e(B切换回。在画线模式下:

  • 我是?
  • q 是 ?
  • 米是?
  • ~是?

您可以通过printf '\e(0 qwertyuiop \e(B \n'在 bash 提示符下运行类似的内容来构建完整的列表。