LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2211|回复: 8

[==LFS精华系列==]命令提示符 PS1

[复制链接]
发表于 2003-11-11 19:41:31 | 显示全部楼层 |阅读模式
bash 有两级用户提示符。第一级是你经常看到的 bash 在等待命令输入
时的提示符。缺省的一级提示符是字符$(如果是超级用户,则是#号)。
你可以通过改变bash 的PS1变量的值来改变你的缺省提示符,例如:
PS1="lease enter a command"
把bash shell 的提示符该为指定的字符串。

当bash 期待输入更多的信息以完成命令时显示第二级提示符。缺省的第
二级提示符是 >。 果你要改变第二级提示符,可以通过设置PS2变量的
值来实现:
PS2="I need more information"
另外你还可以用特殊的字符来定义你的提示符,下面的列表列出了最常
用的特殊字符。
提示符特殊字符代码
字符 含义
\! 显示该命令的历史记录编号。
\# 显示当前命令的命令编号。

\$ 显示$符作为提示符,如果用户是root的话,则显示#号。
\\ 显示反斜杠。

\d 显示当前日期。

\h 显示主机名。

\n 打印新行。
\nnn 显示nnn的八进制值。

\s 显示当前运行的shell的名字。
\t 显示当前时间。
\u 显示当前用户的用户名。
\W 显示当前工作目录的名字。
\w 显示当前工作目录的路径。

这些特殊字符能组合成很多种有用的提示符方案(也可以组合为很奇异
的方案),例如把 PS1 设为:
PS1="\t"
这导致提示符显示当前的时间,就象下面的显示一样(提示符后面将不
会有空格):
02:16:15

而下面的设置:
PS1=\t
将导致提示符变成下面的样子:
t
这显示了设置中引号的重要性,下面的提示符串:
PS1="\t\\ "
会使提示符看起来象这个样子:
02:16:30\
这种情况下,提示符后面会有一个空格,因为引号里有一个空格。

http://www.linuxsir.cn/forum.php?mod=viewthread&tid=72779
发表于 2003-12-7 01:48:23 | 显示全部楼层
老说lfs命令行不对的,就按这篇文章
发表于 2003-12-7 10:26:32 | 显示全部楼层
好姑娘
 楼主| 发表于 2003-12-7 11:40:09 | 显示全部楼层
发表于 2004-4-8 12:30:06 | 显示全部楼层
顶起来,再问一句,怎么让它在X下的RXVT打开时自动运行?
我在console下它起作用了,在X下的rxvt和xterm中就又是bash-2.05b#的提示了。
发表于 2004-4-8 15:52:07 | 显示全部楼层
最初由 Dragonsoar 发表
顶起来,再问一句,怎么让它在X下的RXVT打开时自动运行?
我在console下它起作用了,在X下的rxvt和xterm中就又是bash-2.05b#的提示了。

export PS1="\u \w"
发表于 2004-4-8 19:47:05 | 显示全部楼层
我是说一打开RXVT它自动在起作用,而不是先打开RXVT再去运行一遍PS1="\u\w".
有什么办法?
发表于 2004-4-9 16:22:51 | 显示全部楼层
put it in your .bashrc
发表于 2004-4-9 16:38:56 | 显示全部楼层
谢谢提醒,我把它加在/etc/bashrc里,都好了。
原来它只在/etc/profile里有,只在命令下起作用,进X就不行了。
看来有些东西加在/etc/profile和加在/etc/bashrc里效果不一样的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表