终端bash美化(FC)

用Linux也已经一年多了,感觉几乎还是什么都不会。
大概是一直再做一些没多大意义的事的缘故吧,就像今天些的内容一样。
以前搞了一段时间的GENTOO,发现里面的bash提示(也就是[user@hostname directory]$)比FC中的漂亮,于是就想要改一下。

FC中bash的配置主要和/etc/bashrc,~/.bashrc有关,鉴于改/etc/bashrc是比较愚蠢的做法,一旦失误,可能对初学者带来极其严重的后果(FC中大部分的shell是bash),而改~/.bashrc可以用有相同的结果,所以我们选择后者。

bash的提示主要和PS1有关,在bash的manual中的PROMPTING一段中有相应的参数说明。PS1默认是'/v-/s/$',在FC中通常配置为’[/u@/h /W]//$',可以通过echo $PS1命令来查看。
bash中的色彩,主要和/etc/DIR_COLORS、/etc/DIR_COLORS.xterm有关系。
所以我们现在只要在~/.bashrc文件中设置相应的PS1值,便可以得到比较好看的颜色。
下面是我的配置文件中的一部分参考下。
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
# Define some colors first:
red='/e[0;31m'
RED='/e[1;31m'
green='/e[0;32m'
GREEN='/e[1;32m'
yellow='/e[0;33m'
YELLOW='/e[1;33m'
blue='/e[0;34m'
BLUE='/e[1;34m'
magenta='/e[0;35m'
MAGENTA='/e[1;35m'
cyan='/e[0;36m'
CYAN='/e[1;36m'
NC='/e[0m' # No Color

if [ "$PS1" ]; then
  case $TERM in
    xterm*)
        PS1="/[$magenta/]/u@/[$yellow/]/h /W //$/[$NC/]"
        ;;
    linux)
        PS1="/[$RED/]/u@/[$YELLOW/]/h /[$GREEN/]/W /[$MAGENTA/]//$/[$NC/]"
        ;;
    *) 
        PS1="/u @/h /W //$"
        ;;
    esac 
fi

网上有点说法像PS1="${red}/u@/h /W //$ $NC"也能工作,但是当你输的命令长一点超过一行你就会发现问题了。
在bash的menual中提到的PROMPTING中有
/[     begin a sequence of non-printing characters, which could be used to embed a terminal control sequence  into
       the prompt
/]     end a sequence of non-printing characters
使用他们可以有效的解决问题。 
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zeloas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值