环境变量初始化与对应文件的生效顺序,在登录Linux系统并启动一个 bash shell 时,默认情况下 bash 会在若干个文件中查找环境变量的设置,这些文件可统称为系统环境文件,bash 检查的环境变量文件的情况取决于系统运行 Shell 的方式。
(1)通过系统用户登录后默认运行的 Shell(2)非登录交互式运行 Shell(3)执行脚本运行非交互是 Shell
1、登录shell方式进入Linux
账号和密码——>/etc/proFILE(全局文件G1)——>/etc/profile.d/(全局脚本目录F1)——> ~/.bash_profile(用户文件U1)——> ~/.bashrc(用户文件U2)——>/etc/bashrc(全局文件G2) 当用户登录 Linux 系统时,Shell 会作为登录 Shell 启动,此时的登录 Shell 加载环境变量的顺序如上。 用户登录系统后首先会加载 /etc/profile 全局环境变量文件,这是 Linux 系统上默认的 Shell 主环境变量文件,系统上每个用户登录都会加载这个文件。 当加载完 /etc/profile 文件后,才会执行 /etc/profile.d/目录下的脚本文件,这个目录下的脚本文件由很多,例如:系统的字符集设置(/etc/sysCONfig/i18n)等,以便用户登录后即可运行脚本 之后开始运行 ~/.bash_profile(用户环境变量文件),在这个文件中,又会去找 ~/.bashrc(用户环境变量文件),如果有,则执行,如果没有,则不执行,在 ~/.bashrc文件中又会去找/etc/bashrc(全局环境变量文件),如果有,则执行,如果没有,则不执行。
不需要输入密码的登录及远程 SSH 连接——> ~/.bashrc(用户文件U2)——>/etc/bashrc(全局文件G2) 如果用户的Shell 不是登录时启动的(比如手动敲下 bash 时启动或者其他不需要输入密码的登录及远程 SSH 连接情况)那么这种非登录 Shell 只会加载 ~/.bashrc(用户环境变量文件),并会去找 /etc/bashrc(全局环境变量文件),因此如果希望在非登录 Shell 下也可读到设置的环境变量等内容,就需要将变量设定写入 ~/.bashrc 或者 /etc/bashrc,而不是 ~/.bash_profile或/etc/profile。1、/etc/profile:系统配置文件,用户登录时读取一次2、/etc/bash.bashrc:(Ubuntu)系统配置文件,用户登录时读取一次,每次打开一个新终端会话时读取一次。 /etc/bashrc: (centos)系统配置文件,用户登录时读取一次,每次打开一个新终端会话时读取一次。3、~/.profile(~/.bash_profile、~/.bash_login):用户配置文件,用户登录时读取一次4、~/.bashrc:用户配置文件,用户登录时读取一次,每次打开一个新终端会话时读取一次对于 ~/.bash_profile、~/.bash_login、~/.profile,如果终端绑定的是 bash,则按照我书写的顺序进行读取(如果存在,就不继续读取)1、系统配置文件作用于全局,而用户配置文件仅针对当前登录的用户2、先读取系统配置文件,再读取用户配置文件,用户配置文件的变量和表达式等都继承自系统配置文件
关于linux下.bashrc文件
看看自己用户目录中的_profile ,在其中加入source /home/soft/

NDK/ndk-build:no such file or directory
遇到这种问题,配置NDK的环境变量即可;例如: 使用cygwin, 配置 NDK=/cygdrive/D/android/ndk/android-ndk-r8e export NDK 此属性时,注意,配置NDK环境变量名称为NDK, 路径D:\android\ndk\android-ndk-r8e 环境变量名称为NDK与红色位置的名称相同;最后添加到path中即可。
怎么查看linux 是否安装gcc
正确的方法是,sudo apt-getinstallbuild-essential这个才是你的系统应该用的,装好后命令行下运行gcc -v就会打印出你使用gcc的版本信息了,然后就可以用了,比如gcc -o test test.c就会编译test.c,生成可执行文件 test然后./test就会运行test 我再晕,推荐参考《Linux就该这样学》,提示你没有test.c,你的C源文件呢?我这里是用test.c做例子,你的源文件叫什么名字,你就把test.c换成你的文件的名字啊。另外,你要把你的源文件先保存在linux机器上,比方说放到了 /home/yourname/aaa那你要先cd /home/yourname/aaa然后再gcc -o test test.c
发表评论