wanlifeipeng

  博客园 :: 首页 :: 博问 :: 闪存 :: :: 联系 :: 订阅 订阅 :: 管理 ::

用户通过远程登陆,初始的PS1为\s-\v\$, bash为/bin/bash,然后先后执行/etc/profile和~/.bash_profile中的命令。

/etc/profile文件中调用执行/etc/bash.bashrc,使得默认从终端登陆的PS1初始值设为

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

而用户通过图形界面新建shell,会先后读取/etc/bash.bashrc和~/.bashrc中的配置,由于$TERM为xterm-256color,所以会将PS1设为

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$

 

 以下为修改远程登陆shell时的bash命令提示符

vi ~/.bash_profile
# 在 ~/.bash_profile中加入:
export PS1="[\u@\h:\W]\\$"
# 使配置立即生效
source ~/.bash_profile

如果要修改图形界面下bash命令提示符,只需要将 PS1="[\u@\h:\W]\\$" 让在.bashrc文件最后,或者做如下修改:

 67 case "$TERM" in
 68 xterm*|rxvt*)
 69 #    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
 70     PS1="[\u@\h:\W]\\$"
 71     ;;
 72 *)
 73     ;;
 74 esac

参考: man bash 下的 INVOCATION

 

效果:

hupeng@hupeng-vm:~/WorkSpace/shell$ vi ~/.bashrc  #未修改之前路径很长,从宿主目录~开始显示
hupeng@hupeng-vm:~/WorkSpace/shell$ cd test/
hupeng@hupeng-vm:~/WorkSpace/shell/test$ source ~/.bashrc #是修改立即生效
[hupeng@hupeng-vm test]$  #路径变短了,只显示路径的basename
[hupeng@hupeng-vm shell]$#关于basename
[hupeng@hupeng-vm shell]$pwd
/home/hupeng/WorkSpace/shell
[hupeng@hupeng-vm shell]$basename `pwd`
shell
[hupeng@hupeng-vm shell]$echo $PS1
[\u@\h \W]\$
[hupeng@hupeng-vm shell]$PS1="PROMPT>"
PROMPT>PS1="[\u@\h \W]\$"
[hupeng@hupeng-vm shell]$  #在shell中修改只能临时生效,要永久生效,必须修改配置文件

 

PS1以及相关特殊字符介绍:

可以 man bash 然后搜索PS1和PROMPTING

PS1被用作主要的提示字符串使用。

相关特殊字符:

\H:    #完整的主机名称。   
\h:    #仅取主机的第一个名字,到“.”结束  
\u:    #当前用户的用户名 
\w:    #完整的工作目录名称。宿主目录(如/hom/peter)会以~代替   
\W:    #利用basename取得工作目录名称,所以只会列出最后一个目录 
\$:    #提示字符,如果是root时,提示符为:#,普通用户则为:
\#:    #显示命令的编号(如30,31...)
\t:    显示时间为24小时格式,如:HH:MM:SS   
\T:    #显示时间为12小时格式   
\A:    #显示时间为24小时格式:  HH:MM   
\d:    #代表日期,格式为weekday month date, 例如:"Tue May 26" 
\v:    #bash的版本信息 (如4.3

 

posted on 2017-04-19 21:59  wanlifeipeng  阅读(4227)  评论(0编辑  收藏  举报