Bash之PS1配置
今天想调整以下PS1的显示,查看了很多文档后有些收获。Bash有可自定义的4类提示:
PS1 在每个命令之前显示的主提示符,因此它是每个人都不同的。 PS2 当一个命令需要更多的输入(例如,一个多行命令)中显示的辅助提示。 PS3 不是很常用。 PS4 也是不常用。
Bash中的命令行提示一般为PS1,即:(你可以在这里编辑自己喜欢的风格)
username@hostname:~$ // 其中'~'为用户主目录
转换为转义字符表达式就是:
PS1=‘\u@\h:\w\$’ \u 表示用户(username); \h 表示主机(hostname); \w 表示当前工作目录(directory); \$ 如果您不是超级用户 (非root),则插入一个 "$";如果您是超级用户(root),则显示一个 "#"。
以上是常见的,也是最有价值的信息。当然,还有其他的转义字符:
1 \[ 这个字符应该出现在不占位转义字符(如颜色转义字符)之前,它使bash能够正确计算自动换行; \] 这个字符应该出现在不占位转义字符(如颜色转义字符)之后; \e ASCII转义字符序列开始(也可以键入 \033); \a ASCII响铃字符(也可以键入 \007); \d "Wed Sep 06"格式的日期; \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小时制时间; \v bash的版本(如 2.04); \V Bash版本(包括补丁级别) ?/td>; \W 当前工作目录的“基名 (basename)”(如 "drobbins"); \! 当前命令在历史缓冲区中的位置; \# 命令编号(只要您键入内容,它就会在每次提示时累加); \xxx 插 入一个用三位数 xxx(用零代替未使用的数字,如 "/007")表示的 ASCII 字符; \\ 反斜 杠。
字体颜色的配置为:
30m==黑色; 31m==红色; 32m==绿色; 33m==黄色; 34m==蓝色; 35m==洋红; 36m==青色; 37m==白色。
如果想配置背景色,只需要每种颜色数字加10即:
40m==黑色; 41m==红色; 42m==绿色; 43m==黄色; 44m==蓝色; 45m==洋红 ; 46m==青色; 47m==白色。
其他功能数字有:
0==OFF 1==高亮显示(我使用的就是高亮) 4==underline 5==闪烁 7==反白显示 8==不可见
在用户主目录中,存在 .bashrc(注意前置点) 配置文件,其中有对PS1的配置表达式。这是我在 Debian-8.3中修改后的结果:
PS1='\[\033[1;35m\]\u@\h:\[\033[1;33m\]\w\[\033[1;35m\]\$' // 为了便于理解,有一部分无关项被我去掉了 设置用户名(\u)为高亮(),洋红(35m); 因为没设置主机名(\h),它继承了用户名的设置; 然后设置目录(\w)为高亮(),黄色(33m); 最后将$又改回高亮和洋红。
至此, 终端的配置结束。
Bash之PS1配置的更多相关文章
- Linux环境变量PS1配置
1. 说明: 在Shell下,我们能够拥有更加色慘斑斓的提示行信息.这能够通过改变bash的$PS1环境变量还设置,如以下就是提示行的一种: user@host$ root用户的提示是这种: user ...
- 转载:(Mac)在bash和zsh配置环境变量path的几种方法
参考文献 老习惯,列出本文参考或引用或转载的文档和博客,致以崇高的敬意,感兴趣的可以去看看 1.http://postgresapp.com/ 2.http://postgresapp.com/doc ...
- bash 的相关配置
bash 参数自动补全 请安装 bash-completion bash 提示符 说明:参考文档 1. 简洁风格 if [[ ${EUID} == 0 ]] ; then PS1='\[\033[01 ...
- centos7 安装jdk8 bash脚本 并配置环境变量
#!/bin/bash #安装java脚本 if type -p java; then echo 'java已安装.' exit else echo '开始安装java...' wget --no-c ...
- Bash Shell启动配置脚本的顺序
1.Bash检查环境变量文件的方式,取决于系统运行Shell的方式,通常系统运行Shell有3种方式: )通过系统用户登陆后默认运行的Shell )非登陆交互式运行Shell )执行脚本运行非交互式S ...
- ssh以bash登录的配置
因ssh登录时不会加载.bashrc而是加载.bash_profile,所以以ssh的默认登录不会是bash,只要在.bash_profile中添加以下代码即可: if [ -f ~/.bashrc ...
- linux系统配置之bash shell的配置(centos)
linux系统开机启动过程的最后阶段会由init进程根据启动方案(运行级:0-6)启动许多基本的服务程序,为用户提供各种各样的服务.在启动这些服务的最后会启动一个为用户提供操作环境的服务,用户就是通过 ...
- Golang bash alias 自动配置GOPATH并运行项目
BASH代码: source ~/.bash_profile; export GOPATH=$GOPATH:`cd ..; pwd`; echo -e "* GOPATH: $GOPATH ...
- bash 环境配置及脚本
bash是 Bourne Again Shell简称 ,从unix系统的sh发展而来 查看当前shellecho $SHELL查看系统支持的shellcat /etc/shells cd /binls ...
随机推荐
- ios http请求
1.同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2.异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然 ...
- NSDateFormatter遇到无法转换的问题
NSDateFormatter并不是万能的,并不是给出什么字符串都能转遍为NSDate类型,所转换的格式必须必须和你给出的格式想对应 比如说:NSString *dateStr = @"20 ...
- Why jsp?
Before the JSP come into the world . The CGI and servlet took the responsibility of generating dynam ...
- WCF Restful 服务器配置文件
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSec ...
- Oracle设置自动递增的方法
1)创建序列: create sequence SEQ_TEST --字段名 minvalue 1 --最小值 maxvalue XXXXX --设置最大值 start wit ...
- JavaScript面试题
一道常被人轻视的前端JS面试题 标签(空格分隔): JavaScript function Foo() { getName = function () { alert (1); }; return t ...
- 【Fine原创】常见的HTTP错误码的具体含义整理
常见的HTTP错误码的具体含义 "100" : Continue 客户端应当继续发送请求. "101" : witching Protocols ...
- android 滚动的缓冲图片
-----------------------java实现代码------------------------- private Animation mRotate; mRotate = Animat ...
- Xcode6中如何使用自定义的类模板
说到IOS类的模板,有些人感觉很陌生,但是只要有开发过IOS程序的人,其实都用过类的模板,只不过是用的系统自带的类的模板. 例如创建一个ClassTemplateVC继承于UIViewControll ...
- win32记事本程序(一)
我不会取标题,大体上我想用win32,模仿windows的记事本,写个记事本程序,最后让我的程序和微软的程序在外观和功能上都差不多.这样一来我可以学到一些新知识,巩固旧的知识. 一.首先做个菜单栏吧. ...