iterm2 使用bash作为默认shell
-
查看安装了那些shell
chsh -l 或者 cat /etc/shells -
查看当前使用的shell
echo $SHELL
-
更改bash为默认shell
chsh -s /bin/bash //需要用户输入密码
iterm2 bash配置
-
创建bash配置文件
vim ~./bash_profile -
在配置文件中配置相关参数
export CLICOLOR=1 //设置使用颜色
export PS1="\[\e[35m\]Hello\[\e[0m\]$ \[\e[31m\]\t\[\e[0m\] [\[\e[36m\]\w\[\e[0m\]] \[\e[32m\]\u\[\e[0m\]\[\e[33m\]@\[\e[0m\]\[\e[34m\]net\[\e[0m\]\$ " //配置显示格式
注: PS1中如果配置有非打印的转意符(比如颜色),必须用\[ xxx \]包括起来,否则会引起字符长度计算错误,导致命令过长时不换行(而是从本行开头进行覆盖)问题。
参考:
Make sure all non-printable bytes in your PS1 are contained within \[ \]. Otherwise, bash will count them in the length of the prompt. It uses the length of the prompt to determine when to wrap the line.
See http://mywiki.wooledge.org/BashFAQ/053
(如果正确设置PS1后依然出现命令行过长时在本行覆盖的问题,可以在_设置PS1前_添加 stty columns 1000 )
PS1中常用变量含义
-
转意变量
\d :代表日期,格式为weekday month date
\H :完整的主机名
\h :主机的第一个名字
\t :显示时间为24小时格式(HH:MM:SS)
\T :显示时间为12小时格式
\A :显示时间为24小时格式(HH:MM)
\u :当前用户的账户名
\v :BASH的版本信息
\w :完整的工作目录名
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\# :第几个命令
\$ :提示字符,如果是root时,提示符为:#;普通用户为:$ -
颜色表变量
前景 背景 颜色
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色 -
其他变量
0 OFF
1 高亮显示
4 underline
7 反白显示
8 不可见 -
颜色设置
设置颜色: \e[?m //?是颜色表值
取消颜色设置: \e[m
参考
http://blog.youkuaiyun.com/zhangxuechao_/article/details/52016770
http://flytreeleft.iteye.com/blog/1541616
http://roclinux.cn/?p=739