bash中的PS1、 PS2、PS3、PS4和PROMPT_COMMAND详解
转载自: http://os.51cto.com/art/201205/334954.htm http://www.groad.net/bbs/thread-6439-1-1.html PS 是 prompt statement (提示表达式)的缩写。 1、PS1――默认提示符 如下所示,可以通过修改Linux下的默认提示符,使其更加实用。在下面的例子中,默认的PS1的值是“s-v$”,显示出了shell的名称的版本。我们通过修改,可以使其显示用户名、主机名和当前工作目录。 -bash-3.2$ export PS1="u@h w> " [注: 提示符修改为 "username@hostname current-dir>的形式] 本例中PS1使用的一些代码如下: o u -- 用户名 注意,在PS1值之后有一个空格。从个人角度来讲,使用这个空格可以增加一定的可读性。 将export PS1=”u@h w>" 添加到.bash_profile 或者 .bashrc中,则可以保证其永久有效。 ramesh@dev-db ~> vi ~/.bash_profile [注: 将命令添加到以上任何一个即可] 2、PS2――再谈提示符 一个非常长的命令可以通过在末尾加“”使其分行显示。多行命令的默认提示符是“>”。 我们可以通过修改PS2 ,将提示符修改为"continue->" 。 ramesh@dev-db ~> myisamchk --silent --force --fast --update-state 当用“”使长命令分行显示,我发现非常易读。当然我也见过有的人不喜欢分行显示命令 3、PS3――Shell脚本中使用select时的提示符 你可以像下面示范的那样,用环境变量PS3定制shell脚本的select提示: 不使用PS3的脚本输出:
[注: 缺省的提示符是 #?] 使用PS3的脚本输出:
[注: 设置了PS3变量后,命令提示符已经成为 "Select a day (1-4):"] 4、PS4――PS4-“set -x"用来修改跟踪输出的前缀 如果你像下面那样在调试模式下的脚本中,PS4环境变量可以定制提示信息: 没有设置PS4时的shell脚本输出:
[注: 当使用sex -x跟踪输出时的提示符为 ++] 设置PS4后的脚本输出: PS4在ps.sh中定义了下面两个变量 o $0 显示当前的脚本名
[注: 使用PS4后使 "{script-name}.{line-number}+" 成为set ?Cx的命令提示符] 5. PROMPT_COMMAND [beyes @beyes ~]$ export PROMPT_COMMAND="echo www.groad.net" 如果你希望看到 PROMPT_COMMAND 的内容和 $PS1 在同一行,那么可以类似如下设置: [beyes @beyes ~]$ export PROMPT_COMMAND="echo -n [groad.net]" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Angular 2模型函数插值 – self.context.$implicit.X不是函
- 我收到TypeError:从工厂ng-Table AngularJS加载数据时,无法
- 使用mysqldump自动备份mysql并上传数据到ftp
- CVE-2019-12735 VIM命令执行漏洞利用
- Vim,Python和Django自动完成(pysmell?)
- vim – 如何卸载Janus?
- .NET 应用webservices的实现全国各地省市县的选择....
- BootStrap制作导航条实例代码
- unix – 在SSH Config Hostname中仅使用模式的一部分
- scala – foldRight无限懒人结构