ubuntu修改Bash命令行提示符
用户通过远程登陆,初始的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,...)
- \t: 显示时间为24小时格式,如:HH:MM:SS
- \T: #显示时间为12小时格式
- \A: #显示时间为24小时格式: HH:MM
- \d: #代表日期,格式为weekday month date, 例如:"Tue May 26"
- \v: #bash的版本信息 (如4.)
ubuntu修改Bash命令行提示符的更多相关文章
- 修改linux命令行提示符
安装了ubuntu1304版本,发现命令行@后面的名称太长,影响视觉美观,决定修改一下.修改当前用户目录下面的.bashrc文件即可达到目的. 打开.bashrc文件,找到下面的内容:if [ &qu ...
- 修改linux命令行提示符路径显示
命令显示行太长,影响观感,这样需要修改,具体方法: 1. 修改 ~/.bashrc,在最后一行添加: export PS1='[\u@\h\W]$' 其中\u是当前用户名,\h是当前主机名,\w显示当 ...
- Ubuntu18 给terminal改个漂亮的命令行提示符
重新安装了VMware和Ubuntu,但是命令行提示符太单调,不美观,如何更改呢.于是在网上巴拉巴拉搜寻一番. 1.更改PS1环境变量,这俩都可以,我选择第一个: export PS1="\ ...
- 环境变量PS1,修改命令行提示符样式
推荐模板 export PS1="\[\e[37;40m\][\[\e[31;40m\]\u\[\e[0m@\[\e[33;40m\]\H \[\e[36;40m\]\w\[\e[0m\] ...
- Linux 终端命令行提示符的艺术--PS1进阶
话不多说,先瞅瞅我的命令行提示符(有点大): 图中命令行解释:┌[阳历日期/农历日期 时间]├[当前目录下目录数+当前目录下文件数][当前绝对目录]└[用户名@主机名-第几个终端 ╰_╯] 相关配置文 ...
- Mac终端命令行提示符格式更改方法
内容提要: 主要是通过~/.bash_profile文件更改环境变量PS1,修改命令行提示符的显示格式,并展示不同颜色. 本文介绍了默认设置的缺陷,以及需要用到的基础知识,最后介绍了更改命令行提示符格 ...
- Linux命令行提示符设置
我们使用Linux系统时接触最多的是它的命令行窗口,很多时候我们都需要在命令行上输入命令,在输入的命令前都会有提示符,一般系统默认的提示符形式是:[username@host 工作目录]$. 其实,我 ...
- linux使用ps1设置命令行提示符
要自定义命令行提示,需要ps1来设置.完成自定义需要以下几个步骤: 1.编辑~/.bashrc文件 vi ~/.bashrc 2.在.bashrc文件中添加以下一行自定义内容 export PS1=& ...
- linu查看系统用户与显示命令行提示符格式信息
目录 一:查看系统用户whoami 二:显示命令行提示符格式信息变量 一:查看系统用户whoami whoami : 当前窗口登录的用户 who : 当前用户登录系统的终端 作用: 显示当前用户登录了 ...
随机推荐
- python爬虫常见面试题(二)
前言 之所以在这里写下python爬虫常见面试题及解答,一是用作笔记,方便日后回忆:二是给自己一个和大家交流的机会,互相学习.进步,希望不正之处大家能给予指正:三是我也是互联网寒潮下岗的那批人之一,为 ...
- 配置total commander 显示所有或特定文件夹 (带点的文件夹)
在配置|忽略列表 下可以添加或删除需要隐藏的文件夹通配符.
- 对Repository模式误用的反思和纠正
一直以来想自己做一套开发框架,在其基础上进行快速开发,自从接触微软的MVC框架和Entityframework以来,阅读了大量园子里的相关的技术文章,也进行了不少摸索和尝试,中间经历了多次大刀阔斧的重 ...
- html内容滚动
<marquee srolldelay="50" direction="up"></marquee> 滚动标签<marquee&g ...
- vue-cli 添加到生产环境问题总结
1. 路径问题 部署到生产环境后的实际链接为: 服务器项目路径 + serviceUrl的路径 创建 GlobalConstant.js 分别配置 开发环境和生产环境的 路径 (注:此处生 ...
- 前端开发 —— google chart 的使用
1. 引入所需的 js 库 在 <head></head>中 <script src="https://ajax.googleapis.com/ajax/lib ...
- OK335xS UART device registe hacking
/************************************************************************* * OK335xS UART device reg ...
- WPF控件NumericUpDown (转)
WPF控件NumericUpDown示例 (转载请注明出处) 工具:Expression Blend 2 + Visual Studio 2008 语言:C# 框架:.Net Framework 3. ...
- java环境变量 Path 与CLASSPATH
1.Windows操作系统根据Path环境变量来查找命令,Linux操作系统则根据PATH环境变量来查找命令 因为Windows操作系统不区分大小写,设置Path和PATH并没有区别,而Linux系统 ...
- 实习第二天-String对象的不可变性-未解决
public class Reverse { public static void main(String[] args) { String c1=new String("abc" ...