Mac osX Linux终端的自定义

对于经常使用终端的用户来说,好的终端配置以及终端信息显示都是有用的甚至是酷的;
针对bash来说,能定义的东西更多,对osx和linux以及大部分的*inx系统来说,基本都标配bash;

一些有用的参考资料:

针对bash的补全:

  • archlinux: 参见archlinux官方wiki
  • mac osx: homebrew

    if not install brew, install as follow:
    ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
    then change this if you want to use tools from brew: edit /etc/paths; change /usr/local/bin to first

    /etc/paths

    /usr/local/bin
    /usr/bin
    /bin
    /usr/sbin
    /sbin
  • 安装 bash(非必须,不过osx默认bash版本较老,可以换掉了)、 bash-completion
    > $ brew install bash bash-completion
  • 设置bash加载:
    add this line to ~/.bash_profile
[[ -e /usr/local/etc/bash_completion ]] && . /usr/local/etc/bash_completion

终端bash环境PS1

  • Mac默认的终端:

    PS1='\h:\W \u\$ ' =====> /etc/bashrc

    huaixiaozs-Mac-BookPro:~ huaixiaoz$ -

  • archlinux终端:

    PS1='[\u@\h \W]\$ ' =====> /etc/bashrc

    [huaixiaoz@archlinux ~]$ _

Now is our custorm PS1

  1. PS1='\[\e[1;32m\][\u@\h \W]\$\[\e[0m\] '

    ps1 _01

  2. PS1='\[\e[1;31m\][\u@\h \W]\$\[\e[0m\] '

    ps1 _02

  3. PS1="\[\033[0;37m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \"[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\")[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[0;31m\]\h'; else echo '\[\033[0;33m\]\u\[\033[0;37m\]@\[\033[0;96m\]\h'; fi)\[\033[0;37m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;37m\]]\n\[\033[0;37m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]"
    > ps1
  4. PS1="\n\[\033[1;37m\]\342\224\214($(if [[ ${EUID} == 0 ]]; then echo '\[\033[01;31m\]\h'; else echo '\[\033[01;34m\]\u@\h'; fi)\[\033[1;37m\])\342\224\200(\$(if [[ \$? == 0 ]]; then echo \"\[\033[01;32m\]\342\234\223\"; else echo \"\[\033[01;31m\]\342\234\227\"; fi)\[\033[1;37m\])\342\224\200(\[\033[1;34m\]\@ \d\[\033[1;37m\])\[\033[1;37m\]\n\342\224\224\342\224\200(\[\033[1;32m\]\w\[\033[1;37m\])\342\224\200(\[\033[1;32m\]\$(ls -1 | wc -l | sed 's: ::g') files, \$(ls -sh | head -n1 | sed 's/total //')b\[\033[1;37m\])\342\224\200> \[\033[0m\]"
    >ps1

上面的PS1配置来源


还有更多自定义的PS1和更多的bash特性,在此不一一列举了,

Useful links:


huaixiaoz
23 声望1 粉丝