当咱们打开或者登录到一个终端的时候都会显示一长串提示符bash
void@void-ThinkPad-E450:~$
提示符通常包含当前登录的用户名 ,主机名,以及当前工做路径路径,最后都是以 $ 或者 # 号结束,普通用户以 $ 号结束,只有root用户以 #结束。this
由于包含了当前工做路径,因此当咱们切换工做路径的时候,提示符也是会变化的,当咱们切换到一个很深层次的路径或者目录名称很长很长的时候提示符也会变得很长,致使咱们须要输入command的时候输入光标已经到了终端最右边。spa
void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$
咱们 能够经过改变PS1变量来控制主提示符的内容,PS1是一个bash的内建变量,使用echo 能够看到PS1的定义code
void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$ echo $PS1 \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$
\d 用”Week Month Date"的格式显示日期 \H 主机名 \u 当前用户的用户名
\t 用"HH:MM:SS"的24小时格式显示当前时间
\v bash 的版本号 \w 当前工做目录 \$ 若是当前是root用户则显示字符#,不然西那时字符$
咱们能够经过改变变量PS1的值来改变提示符的显示内容blog
void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$it
void@void-ThinkPad-E450:~/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia/libcedarx/xmetadataretriever/include$PS1='\u@\h\$' void@void-ThinkPad-E450$
void@void-ThinkPad-E450$cd ../../../
void@void-ThinkPad-E450$pwd
/home/void/Homlet-Tina-H2_H3/package/allwinner/tina_multimedia
void@void-ThinkPad-E450$class
PS1='\u@\h\$'
以上 命令将 主提示符设置成只显示用户名@主机名$,这样切换工做路径到任何地方都不会影响主提示符的显示,可是这种设置方法只对当前终端有效,若是要对当前用户有效则须要修改~/.bashrc变量
if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi unset color_prompt force_color_prompt # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" ;; *) ;; esac
修改最后一个 PS1的定义保存退出。终端