bash 配置文件/提示符/改变 $PATH
bash 配置文件
在您的 home 目录下,运行
ls .bash*
您将看到这些文件:
.bash_history :记录了您以前输入的命令,
.bash_logout :当您退出 shell 时,要执行的命令,
.bash_profile :当您登入 shell 时,要执行的命令,
.bashrc :每次打开新的 shell 时,要执行的命令。
请注意后两个的区别:'.bash_profile'只在会话开始时被读取一次,而'.bashrc'则每次打开新的终端(如新的 xterm 窗口)时,都要被读取。按照传统,您得将定义的变量,如PATH ,放到'.bash_profile'中,而象 aliases(别名)和函数之类,则放在'.bashrc'。 但由于'.bash_profile'经常被设置成先读取'.bashrc'的内容,您如果图省事的话,就把所有配置都放进'.bashrc'。
这些文件是每一位用户的设置。系统级的设置存储在'/etc/profile'、'/etc/bashrc' 及目录'/etc/profile.d'下的文件中。但您得习惯用各自的配置文件:编辑不需要'root'权限,还可以使您的设置更有个性。当系统级与用户级的设置发生冲突时,将采用用户的设置。
提示符
每次当您打开一个控制台(console)或 xterm 时,***看到的就是提示符(prompt),类似于:
account@hostname ~ $
在默认设置下,提示符将显示您的用户名、主机名(默认是'localhost')、当前所在目录(在 Unix 中,'~'表示您的 home 目录)。
按照传统,***一个字符可以标识您是普通用户($),还是'root'(#)。
您可以通过 $PS1 变量来设置提示符。命令echo $PS1将显示当前的设定。其中可用字符的含义在 man bash 的'PROMPTING'部分有说明。
如何才能完成理想的设置呢?对于健忘的初学者来讲,默认设定有些不友好,因为提示符只显示当前目录的***一部分。如果您看到象这样的提示符tom@localhost bin $
您的当前目录可能是'/bin'、'/usr/bin'、'/usr/local/bin'及'/usr/X11R6/bin'。当然,您可以用pwd (输出当前目录,print working directory)
能不能叫 shell 自动告诉您当前目录呢?当然可以。这里我将提到的设定,包括提示符,大都包含在文件'/etc/bashrc'中。 您可
以通过编辑各自 home 目录下的'.bash_profile'和'.bashrc'来改变设置。在 man bash 中的'PROMPTING'部分,对这些参数(parameter)有详细说明。您可以加入一些小玩意,如不同格式的当前时间,命令的历史记录号,甚至不同的颜色。
在'~/.bashrc'中,我喜欢的设定是:PS1="[
【编辑推荐】