Android-NDK-009-Linux下prole和bashrc区别
- /etc/prole 用来设置系统环境参数,比如$PATH. 这里面的环境变量
是对系统内所有用户生效的。
- /etc/bashrc 这个文件设置系统bash shell相关的东西,对系统内所有
用户生效。只要用户运行bash命令,那么这里面的东西就在起作用。
- ~/.bash_prole 用来设置一些环境变量,功能和/etc/prole 类似,但
是这个是针对用户来设定的,也就是说,你
在/home/user1/.bash_prole 中设定了环境变量,那么这个环境变量
只针对 user1 这个用户生效.
/.bashrc 作用类似于/etc/bashrc, 只是针对用户自己而言,不对其他
用户生效。 另外/etc/prole中设定的变量(全局)的可以作用于任何用
户,而/.bashrc等中设定的变量(局部)只能继承/etc/prole中的变量,他
们是”父子”关系.
注!/.bash_prole 是交互式、login 方式进入bash 运行的,意思是只有
用户登录时才会生效。/.bashrc 是交互式non-login 方式进入bash 运行
的,用户不一定登录,只要以该用户身份运行> > 命令行就会读取该文件
- prole文件
1.1 prole文件的作用
prole(/etc/prole),用于设置系统级的环境变量和启动程序,在这个文件下配
置会对所有用户生效。
当用户登录(login)时,文件会被执行,并从/etc/prole.d目录的配置文件中查找
shell设置。
1.2 在prole中添加环境变量
一般不建议在/etc/prole文件中添加环境变量,因为在这个文件中添加的设置会
对所有用户起作用。
当必须添加时,我们可以按以下方式添加:
如,添加一个HOST值为linuxprobe.com的环境变量:
export HOST=linuxprobe.com
添加时,可以在行尾使用;号,也可以不使用。
一个变量名可以对应多个变量值,多个变量值需要使用:进行分隔。
添加环境变量后,需要重新登录才能生效,也可以使用source命令强制立即生
效:
source /etc/prole
查看是否生效可以使用echo命令:
echo HOST linuxprobe.com
- bashrc文件
bashrc文件用于配置函数或别名。bashrc文件有两种级别:
系统级的位于/etc/bashrc、用户级的位于~/.bashrc,两者分别会对所有用户和当
前用户生效。
bashrc文件只会对指定的shell类型起作用,bashrc只会被bash shell调用。
- bash_prole文件
bash_prole只对单一用户有效,文件存储位于~/.bash_prole,该文件是一个用
户级的设置,可以理解为某一个用户的prole目录下。
这个文件同样也可以用于配置环境变量和启动程序,但只针对单个用户有效。
和prole文件类似,bash_prole也会在用户登录(login)时生效,也可以用于设
置环境变理。
但与prole不同,bash_prole只会对当前用户生效。
- 差异总结
8.1 首先读入全局环境变量设定档/etc/prole,然后根据其内容读取额外的设定
的文档,如/etc/prole.d和/etc/inputrc;
8.2 根据不同使用者帐号,于其家目录内读取~/.bash_prole;
读取失败则会读取~/.bash_login;
再次失败则读取~/.prole(这三个文档设定基本上无差别,仅读取上有优先关系);
8.3 最后,根据用户帐号读取~/.bashrc。(对于预装的linux系统选择《Linux就
该这么学》书籍提供的,可免费下载。)
至于/.prole与/.bashrc都具有个性化定制功能,但~/.prole可以设定本用户专有
的路径、环境变量等,它只能登入的时候执行一次。
~/.bashrc也是某用户专有设定文档,可以设定路径、命令别名,每次shell script
的执行都会使用它一次。
这三种文件类型的差异用一句话表述就是:
/etc/prole,/etc/bashrc 是系统全局环境变量设定;/.prole,/.bashrc用户家目录
下的私有环境变量设定。
当登入系统时候获得一个shell进程时,其读取环境设定档如下:
