关于protoc触发的关于$PATH中路径先后顺序影响的思考
来源:互联网 发布:吉利知豆电动车怎么样 编辑:程序博客网 时间:2024/06/05 16:29
一、加载顺序:
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bash.bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该
该文件被读取
1. 图形模式登录时,顺序读取:/etc/profile和~/.profile 并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bash.bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该
该文件被读取
2. 图形模式登录后,打开终端时,顺序读取:/etc/bash.bashrc和~/.bashrc
3. 文本模式登录时,顺序读取:/etc/bash.bashrc,/etc/profile和~/.bash_profile
4. 从其它用户su到该用户,则分两种情况:
(1)如果带-l参数(或-参数,--login参数),如:su -l username,则bash是lonin的,它将顺序读取以下配置文件:/etc/bash.bashrc,/etc/profile和~/.bash_profile。
(2)如果没有带-l参数,则bash是non-login的,它将顺序读取:/etc/bash.bashrc和~/.bashrc
5. 注销时,或退出su登录的用户,如果是longin方式,那么bash会读取:~/.bash_logout
6. 执行自定义的shell文件时,若使用“bash -l a.sh”的方式,则bash会读取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(这个不属于bash shell),则不会读取上面的任何文件。
7. 上面的例子凡是读取到~/.bash_profile的,若该文件不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
例如:
添加静态库和共享库还包括以下方法:
应注意,在ubuntu远程界面中登录终端是,只读取/etc/bash.bashrc,而/etc/profile不被读取,而直接远程登录终端,/etc/profile、/etc/bash.bashrc、~/.profile/等都被读取。vim /etc/profile
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PATH=$PATH:/usr/local/cuda-7.5/bin
source /etc/profile
而且,需要加source使其生效(电脑重启后需要):
即使再次登录依然有效:
说明:/etc/profile和/etc/bash.bashrc都被读取了一遍。source /etc/profile
而且,开启另一个终端,原有/etc/profile不起作用,且/etc/profile只能在root才读取。
vim ~/.profile
source ~/.profile
source ~/.profile
二、PATH路径先后顺序的影响
可见,/usr/bin的protoc为2.5版本,而/usr/local/bin的版本为3.0版本
远程桌面:
远程shell,通过在~/.profile中写入以下,否则也是不能获取:
/usr/local/lib/protobuf3.0
经实践,通过远程shell编译的protobuf文件为3.0版本,不能再远程桌面使用,需要远程桌面2.5版本编译才可。
显然,问题出在$PATH路径上,对于ql,先读取/usr/bin,故为2.5,对于root,先读取/usr/local/bin,故为3.0,这也是为什么远程shell的也为3.0。
0 0
- 关于protoc触发的关于$PATH中路径先后顺序影响的思考
- 关于asp.net中页面事件加载的先后顺序
- 关于asp.net中页面事件加载的先后顺序
- 关于asp.net中页面事件加载的先后顺序
- 关于asp.net中页面事件加载的先后顺序
- 关于asp.net中页面事件加载的先后顺序
- 关于asp.net中页面事件加载的先后顺序
- 关于asp.net中页面事件加载的先后顺序
- 关于Asp.NET中页面事件加载的先后顺序
- 关于#define 定义的先后顺序
- 关于代码执行的先后顺序
- 关于组件先后顺序的问题
- 事件的触发时机及先后顺序
- 事件的触发时机及先后顺序
- 事件的触发时机及先后顺序
- 关于float浮动的块级元素在编写html时先后顺序对布局的影响
- 关于路径的一些思考
- 关于js引入的先后顺序的小问题
- 哈夫曼树详解
- 操作html字符串
- 64位Linux编译C代码,crt1.o文件格式不对的问题
- 菜鸟跑通doppia(一)
- ubuntu双网卡设置:系统的网络服务与此版本的网络管理器不兼容
- 关于protoc触发的关于$PATH中路径先后顺序影响的思考
- CMakeList中两种加载opencv库的方法
- 相机标定原理
- 菜鸟跑通doppia(二)
- 菜鸟跑通doppia(三)
- 菜鸟跑通doppia(四)
- 菜鸟跑通caffe(一)
- 菜鸟跑通caffe(二)
- 关于错误java.util.zip.ZipException: duplicate entry during packageAllDebugClassesForMultiDex