每个进程都有其各自的环境变量设置,即要想某个特定的程序能够运行,需要先设置其环境变量,这样在此环境中该project才能正常工作。
.dll文件(动态链接库),包括源代码、数据和资源的多种组合。
Linux系统中的环境变量就是指定一个母驴,运行软件的失手,相关程序将会按照该目录寻找相关文件。(即,不用拷贝某些dll文件到系统母驴,path这一系统变量就是系统搜索dll文件的一系列路径。)
-
Shell定义的环境变量
Shell在开始执行的时候就已经定义了一些与系统工作环境有关的变量,用户还可以重新定义这些变量。 常用的shell环境变量有以下几种:
1)HOME:用于保存用户主目录的完全路径名。
2)PATH:用于保存用冒号分隔的目录路径名,shell将按PATH变量中给出的顺序搜索这些目录,找到的第一个与命令名称一致的可执行文件将被执行。
3)SHELL:当前用户使用的Shell
4)UID:当前用户的UID
5)LOGNAME:当前用户的登录名
6)HOSTNAME:主机名称
-
查看环境变量
-
Linux系统中set 、env 和 export 命令都可以查看环境变量。
1)set命令显示当前shell的变量,包括当前用户的变量,set主要用来设置sh的参数与选项
2)env命令显示当前用户的变量,env用来在构建的环境中运行命令
3)export命令显示当前导出成用户变量的shell变量。
每个shell都有特有的变量set显示的变量,这个和用户变量是不同的,当前用户变量和用什么shell无关,不管用户使用什么shell都会存在,比如HOME,SHELL等这些变量。
但shell本身的变量不同,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的。export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell本身的变量可以通过 export “导出”变成一个用户变量。
-
Ⅰ. 应用实例
-
Linux中常见的环境变量有:
· PATH:指定命令的搜索路径
*PATH声明用法:*
PATH=PATH查看当前当前系统PATH路径。
· HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)。
· HISTSIZE:指保存历史命令记录的条数。
· LOGNAME:指当前用户的登录名。
· HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的
· SHELL:指当前用户用的是哪种Shell。
· LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
· MAIL:指当前用户的邮件存放目录。
注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST
-
Linux也提供了修改和查看环境变量的命令,下面通过几个实例来说明:
· echo 显示某个环境变量值 echo $PATH
· export 设置一个新的环境变量 export HELLO="hello" (可以无引号)
· env 显示所有环境变量
· set 显示本地定义的shell变量
· unset 清除环境变量 unset HELLO
· readonly 设置只读环境变量 readonly HELLO
-
C程序调用环境变量函数
· getenv()返回一个环境变量。
· setenv()设置一个环境变量。
· unsetenv()清除一个环境变量。
原文链接:https://www.jianshu.com/p/ac2bc0ad3d74
实例:
单独查看PATH环境变量,可用:[root@localhost u-boot-sh4]#echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
添加PATH环境变量,可用:
[root@localhostu-boot-sh4]#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH
再次查看:
[root@localhost u-boot-sh4]# echo $PATH
/opt/STM/STLinux-2.3/devkit/sh4/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
说明添加PATH成功。
上述方法的PATH 在终端关闭 后就会消失。所以还是建议通过编辑/etc/profile来改PATH,也可以改家目录下的.bashrc(即:~/.bashrc)。