使用Mac的终端(Terminal)时,如果主机名或者用户名过长,命令行的很大一部分都会被这些无关信息占据。作为一个有强迫症的boy,是无法忍受这种情况发生的,好在这些信息都可以非常方便地进行定制。
OSX系统的Terminal命令行前面显示的信息保存在PS1变量中,可以通过echo $PS!命令查看当前显示格式。各字段含义如下:
\a ASCII 响铃字符(也可以键入 \007)
\d “Wed Sep 06” 格式的日期
\e ASCII 转义字符(也可以键入 \033)
\h 主机名的第一部分(如 “mybox”)
\H 主机的全称(如 “mybox.mydomain.com”)
\j 在此 shell 中通过按 ^Z 挂起的进程数
\l 此 shell 的终端设备名(如 “ttyp4”)
\n 换行符
\r 回车符
\s shell 的名称(如 “bash”)
\t 24 小时制时间(如 “23:01:01”)
\T 12 小时制时间(如 “11:01:01”)
@ 带有 am/pm 的 12 小时制时间
\u 用户名
\v bash 的版本(如 2.04)
\V Bash 版本(包括补丁级别) ?/td>
\w 当前工作目录(如 “/home/drobbins”)
\W 当前工作目录的“基名 (basename)”(如 “drobbins”)
! 当前命令在历史缓冲区中的位置
# 命令编号(只要您键入内容,它就会在每次提示时累加)
$ 如果您不是超级用户 (root),则插入一个 “$”;如果您是超级用户,则显示一个 “#”
\xxx 插入一个用三位数 xxx(用零代替未使用的数字,如 “\007”)表示的 ASCII 字符
\ 反斜杠
[ 这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前。它使 bash 能够正确计算自动换行。
] 这个序列应该出现在非打印字符序列之后。
例如PS1=”\W $ “就表示命令行前面显示的信息为相对路径 $,该变量信息可以保存在/.bash_profile文件中,例如export PS1=”\W $ “。/.bash_profile文件中,例如:
值得一提的是,个人其它一些定制化命令和信息都可以保存在
1 | # 快捷执行mysql命令 |