LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 133|回复: 0

修改shell命令提示符和命令的输入颜色

[复制链接]
发表于 2023-12-17 22:21:38 | 显示全部楼层 |阅读模式

修改命令提示符颜色
修改命令提示符的话,只需修改PS1环境变量即可。

PS1='\[\033[01;31m\][\u@\h \W]$ \[\033[00m\]'


修改命令输入的颜色
修改命令输入的颜色,思路是不关闭PS1的颜色,然后在每次敲下回车键执行命令的时候自动插入颜色终止符。这需要借助trap捕获DEBUG信号来实现。

PS1='\[\033[01;31m\][\u]$ \[\033[1;30m\]'
trap 'echo -ne "\e[0m"' DEBUG


如果要写入shell配置文件,建议写到~/.bash_profile,而不要写入~/.bashrc,否则借助ssh类的工具都将因为trap DEBUG信号的特殊性而无限等待,比如scp/rsync等。或者,直接判断是否是交互式登录,是的话就设置,否则不设置:

if [ "${-#*i}" != "$-" ];then
    # interactively shell
    PS1='\[\033[01;31m\][\u@\h \W]$ \[\033[1;30m\]'
    trap 'echo -ne "\e[0m"' DEBUG
fi

文章链接: https://www.junmajinlong.com/shell/cmd_color/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表