Android-NDK-009-Linux下prole和bashrc区别

84 阅读4分钟
  • Linux下prole和bashrc区别
  1. /etc/prole 用来设置系统环境参数,比如$PATH. 这里面的环境变量 是对系统内所有用户生效的。
  2. /etc/bashrc 这个文件设置系统bash shell相关的东西,对系统内所有 用户生效。只要用户运行bash命令,那么这里面的东西就在起作用。
  3. ~/.bash_prole 用来设置一些环境变量,功能和/etc/prole 类似,但 是这个是针对用户来设定的,也就是说,你 在/home/user1/.bash_prole 中设定了环境变量,那么这个环境变量 只针对 user1 这个用户生效.
  4. /.bashrc 作用类似于/etc/bashrc, 只是针对用户自己而言,不对其他 用户生效。 另外/etc/prole中设定的变量(全局)的可以作用于任何用 户,而/.bashrc等中设定的变量(局部)只能继承/etc/prole中的变量,他 们是”父子”关系. 注!/.bash_prole 是交互式、login 方式进入bash 运行的,意思是只有 用户登录时才会生效。/.bashrc 是交互式non-login 方式进入bash 运行 的,用户不一定登录,只要以该用户身份运行> > 命令行就会读取该文件
  5. 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
  6. bashrc文件 bashrc文件用于配置函数或别名。bashrc文件有两种级别: 系统级的位于/etc/bashrc、用户级的位于~/.bashrc,两者分别会对所有用户和当 前用户生效。 bashrc文件只会对指定的shell类型起作用,bashrc只会被bash shell调用。
  7. bash_prole文件 bash_prole只对单一用户有效,文件存储位于~/.bash_prole,该文件是一个用 户级的设置,可以理解为某一个用户的prole目录下。 这个文件同样也可以用于配置环境变量和启动程序,但只针对单个用户有效。 和prole文件类似,bash_prole也会在用户登录(login)时生效,也可以用于设 置环境变理。 但与prole不同,bash_prole只会对当前用户生效。
  8. 差异总结 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进程时,其读取环境设定档如下: image.png