使 OS X 终端命令我输入加粗

使 OS X 终端命令我输入加粗

我想让我在终端中输入的命令在所有输出中脱颖而出。

例如:

imac:~ buster$chmod -R gw 我的文件夹
imac:~ buster$cd 我的文件夹
imac:我的文件夹破坏者$ls -l
总计 0
drwxr-xr-x 9 根管理员 306 2010 年 4 月 20 日 bin
drwxr-xr-x 7 根管理员 238 2010 年 4 月 20 日 包括
drwxr-xr-x 73 根管理员 2482 5 月 18 日 17:16 lib
drwxr-xr-x 6 根管理员 204 2010 年 4 月 20 日 man
imac:myfolder buster$回声 加油巨人!
加油巨人!

大胆的想法浮现在脑海中,但我会接受一种颜色,甚至突出显示整条线......

我确信有办法做到这一点,但对我来说并不明显......

谢谢!

答案1

编辑您的~/.bash_profile~/.bashrc(参见下面 Gilles 的评论)并添加以下几行:

BOLD="\[\033[1m\]"
OFF="\[\033[m\]"
PS1="${OFF}\u@\h:\w \$${BOLD}"
PS2="> ${BOLD}"
trap 'echo -ne "${OFF}" > $(tty)' DEBUG

移动${BOLD}以使提示符的一部分也变为粗体。如果提示符本身不应着色,则需要${OFF}在 中添加前缀PS1,否则空行(按下 Enter 而没有写任何内容)将使以下提示符变为粗体(感谢@Jay,再次感谢!)

这会添加一个调试陷阱来关闭粗体格式,所以这是一个相当不错的技巧。致谢(但在 OS X 上无需组 tty 即可工作)。

这有点像黑客行为,因此请自行承担风险。

仅将PS1/PS2提示设置为粗体会更容易且更明显:

BOLD="\[\033[1m\]"
OFF="\[\033[m\]"
PS1="${BOLD}\u@\h:\w \$${OFF}"
PS2="${BOLD}>${OFF} "

答案2

我在使用 El Capitan 时(尤其是在 iTerm2 中,但在普通的旧终端中也是如此)遇到了一些问题。我遇到了两种错误:

  1. 只需按空格键然后按退格键即可完全删除我的 bash 提示符
  2. 不需要的字符进入我的 bash 输出,例如输入pwd会导致

    \[\]/Users/home/Directory
    

    \e[0m/Users/home/Directory
    

我建议以下解决方案,但实际上它只是同样的解决方案。

    BOLD="\033[1m"
    OFF="\033[m"
    PS1="${OFF}\u@\h :${BOLD}"
    PS2="> ${BOLD}"
    trap 'echo -ne "${OFF}" > $(tty)' DEBUG

相关内容