关于bash的环境变量,系统规划与个人喜好存在偏差的情况下,建议用户修改个人设置值即可,不需要针对系统。在命令行输入的变量、命令别名都是针对该次的登录而设置的,所以,一旦注销那么上次的设置值就会不存在了。
因此我们需要一些文件,记录下用户设置好的环境值,每次登录的时候,就帮我们确定环境的设置。
[b]一、系统设置值[/b]
系统设置值是指每个用户进入到bash shell之后,会先读取的设置文件,默认的设置文件有如下几个:
1、/etc/sysconfig/i18n
语义系数是由i18n维护的,而该设置就在/etc/sysconfig/i18n中,这个文件类似于:
默认使用en_US.UTF-8作为整体语系,可以在这里修改LANG以及其他相关的语系变量,不过,一般来说,用户自己个人的设置建议不要在这里更改,可以自行修改自己的设置文件。
2、/etc/profile
这个文件设置了几个重要的变量,例如:PATH,USER,,MAIL,HOSTNAME,HISTSIZE,umask等等,同事也确定了/etc/inputrc这个针对键盘热键设置的文件的数据内容,可以在这里设置总体的PATH的信息,同时,这个文件也规划出了/etc/profile.d以及/etc/inputrc这两个目录与文件。
这个文件中可以设置变量,但是需要小心,因为所有的用户都会使用这个文件的信息。
在该文件中,HISTSIZE的大小是控制bash记录历史命令条数的参数。在用户家目录下的.bash_history文件中,存储着历史指令记录,默认一般是一千条。
/etc/bashrc
这个文件确定umask(默认文件权限)的功能,也确定了提示符(PS1)的内容,不同版本的Linux版本中,位置可能不太一样。
以上是一些系统在设置的时候常用的文件,通常在设置完这几个文件之后,都要先注销再登陆才能生效。
[b]二、个人设置值[/b]
在个人家目录的几个隐藏文件中,会使用到下面的几个文件:
1、~/.bash_profile , ~/.bash_login , ~/.profile
这三个文件通常只要设置一个即可,一般默认是以~/.bash_profile文件名存在。之所以会有这么多的文件,是因为其他的shell转换过来的用户的习惯。这个文件可以定义个性化的路径(PATH),与环境变量等等。不过还是有顺序上的差异,bash启动时,会先去读取~/.bash_profile,找不到时去读取~/.bash_login 然后才是~/.profile.
2、~/.bashrc
在每次执行shell脚本时,都会重新读取这个文件 ,所以是最完整的,而~/.bash_profile只在登录时才读取一次。
3、~/.bash_history
上面以及提及到这个文件,默认情况下,历史命令就记录在这里,而这个文件能记录多少数据,则与HISTSIZE有关,每次登录bash之后,bash会先读取这个文件,将所有的历史命令读入内存,因此我们登录bash之后,可以查知上次使用过哪些命令。
4、~./bash_logout
这个文件记录“注销bash之后,系统再帮我完成什么任务之后才离开”。可以读取这个文件的内容,默认情况下,在注销时,bash只是清掉屏幕上的消息,不过也可以将一些备份或者其他你认为重要的工作写在这个文件中。
在变量的设置规范中,后输入的设置值可以替换掉先输入的设置值,登录bash的时候,这些设置文件需要按照一个顺序来读取。
1、先读取/etc/profile。再根据/etc/profile的内容去读取其他的附加的设置文件,例如/etc/profile.d与/etc/inputrc等设置文件。
2、根据不同的用户,到用户的家目录中去读取~/.bash_profile或~/bash_login或者~/.profile等设置文件
3、根据不同的用户,到家目录中去读取~/.bashrc。
登录bash之后,最终读取的设置文件是~/.bashrc也就是说,在~/.bashrc里设置的值,会是最终设置的值,可以将一些个人喜欢的常用alias或者PATH等环境变量或者自定义变量都写到这个文件中,如此一来,不管系统做过什么设置,我们都可以使用属于自己熟悉的环境。
因此我们需要一些文件,记录下用户设置好的环境值,每次登录的时候,就帮我们确定环境的设置。
[b]一、系统设置值[/b]
系统设置值是指每个用户进入到bash shell之后,会先读取的设置文件,默认的设置文件有如下几个:
1、/etc/sysconfig/i18n
语义系数是由i18n维护的,而该设置就在/etc/sysconfig/i18n中,这个文件类似于:
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
默认使用en_US.UTF-8作为整体语系,可以在这里修改LANG以及其他相关的语系变量,不过,一般来说,用户自己个人的设置建议不要在这里更改,可以自行修改自己的设置文件。
2、/etc/profile
这个文件设置了几个重要的变量,例如:PATH,USER,,MAIL,HOSTNAME,HISTSIZE,umask等等,同事也确定了/etc/inputrc这个针对键盘热键设置的文件的数据内容,可以在这里设置总体的PATH的信息,同时,这个文件也规划出了/etc/profile.d以及/etc/inputrc这两个目录与文件。
这个文件中可以设置变量,但是需要小心,因为所有的用户都会使用这个文件的信息。
在该文件中,HISTSIZE的大小是控制bash记录历史命令条数的参数。在用户家目录下的.bash_history文件中,存储着历史指令记录,默认一般是一千条。
/etc/bashrc
这个文件确定umask(默认文件权限)的功能,也确定了提示符(PS1)的内容,不同版本的Linux版本中,位置可能不太一样。
以上是一些系统在设置的时候常用的文件,通常在设置完这几个文件之后,都要先注销再登陆才能生效。
[b]二、个人设置值[/b]
在个人家目录的几个隐藏文件中,会使用到下面的几个文件:
1、~/.bash_profile , ~/.bash_login , ~/.profile
这三个文件通常只要设置一个即可,一般默认是以~/.bash_profile文件名存在。之所以会有这么多的文件,是因为其他的shell转换过来的用户的习惯。这个文件可以定义个性化的路径(PATH),与环境变量等等。不过还是有顺序上的差异,bash启动时,会先去读取~/.bash_profile,找不到时去读取~/.bash_login 然后才是~/.profile.
2、~/.bashrc
在每次执行shell脚本时,都会重新读取这个文件 ,所以是最完整的,而~/.bash_profile只在登录时才读取一次。
3、~/.bash_history
上面以及提及到这个文件,默认情况下,历史命令就记录在这里,而这个文件能记录多少数据,则与HISTSIZE有关,每次登录bash之后,bash会先读取这个文件,将所有的历史命令读入内存,因此我们登录bash之后,可以查知上次使用过哪些命令。
4、~./bash_logout
这个文件记录“注销bash之后,系统再帮我完成什么任务之后才离开”。可以读取这个文件的内容,默认情况下,在注销时,bash只是清掉屏幕上的消息,不过也可以将一些备份或者其他你认为重要的工作写在这个文件中。
在变量的设置规范中,后输入的设置值可以替换掉先输入的设置值,登录bash的时候,这些设置文件需要按照一个顺序来读取。
1、先读取/etc/profile。再根据/etc/profile的内容去读取其他的附加的设置文件,例如/etc/profile.d与/etc/inputrc等设置文件。
2、根据不同的用户,到用户的家目录中去读取~/.bash_profile或~/bash_login或者~/.profile等设置文件
3、根据不同的用户,到家目录中去读取~/.bashrc。
登录bash之后,最终读取的设置文件是~/.bashrc也就是说,在~/.bashrc里设置的值,会是最终设置的值,可以将一些个人喜欢的常用alias或者PATH等环境变量或者自定义变量都写到这个文件中,如此一来,不管系统做过什么设置,我们都可以使用属于自己熟悉的环境。