关于Linux环境变量

时间:2022-12-12 23:53:05

查看全局变量:  printenv

查看单个环境变量的值可以用echo命令,必须在环境变量的名称前放一个$符号

如:

关于Linux环境变量

 

显示某个特定进程设置的所有环境变量 set

关于Linux环境变量

 

在bash shell 中设置环境变量

关于Linux环境变量

 

如果要给变量赋一个含有空格的字符串值,必须用单引号来界定

如:

关于Linux环境变量

 

这样设置的局部环境变量能在此shell中使用,但在它的子shell中不可用,在其他shell中也不可用

关于Linux环境变量

如你所见,该test环境变量在子shell中不可见(值为空),退出子shell回到原来的shell中时它又可见了

 

设置全局环境变量

全局环境变量在设定该全局环境变量的进程中创建的所有子进程中都是可见的。

创建全局环境变量的方法是先创一个局部环境变量再将其导入全局环境变量中,导入过程可以通过export命令完成

如:

关于Linux环境变量

注意它只能再创建它的进程中可见,在其他进程中是不可见的

如果要使其在所有环境变量中可见,修改 /etc/profile 文件

 

删除环境变量 unset 命令

关于Linux环境变量

 

但在全局环境变量中,如果在子进程中删除一个全局变量,它只对该子进程有效,该环境变量在父进程中依然可用

关于Linux环境变量

 

查看 PATH环境变量

关于Linux环境变量

这说明shell将在这9个目录中查找命令,PATH中的每个目录都由冒号分隔,在PATH变量末尾没什么特殊符号说明这个是目录列表的结尾,可以通过在末尾加个冒号再加个新目录来添加其他目录,PATH变量同时显示了shell查找命令的顺序;

设置PATH环境变量

http://www.cnblogs.com/hzhida/archive/2012/08/06/2624998.html

 

shell 启动文件

1. /etc/profile

只要登陆了Linux系统,bash就会执行/etc/profile文件中的命令

 

2. $HOME目录下的启动文件

这个文件不同的Linux系统可能不同,我用的ubuntu16.04,是 .bashrc

关于Linux环境变量

 

交互式shell

如果你的bash shell 不是登陆系统时启动的(比如你在命令行提示符下敲入bash启动),你启动的shell称为交互式shell,交互式shell不会像登陆shell一样运行,但它依然提供命令行提示符来输入命令;

如果bash是作为交互式shell启动的,它不会去访问/etc/profile文件,而是去用户的HOME目录检查.bashrc是否存在

.bashrc文件有两个作用:一是查看/etc目录下的共用bashrc文件,二是为用户提供一个定制自己命令别名和私有脚本函数的地方

通过/etc/bashrc启动文件会被系统上每个启动交互式shell会话的用户执行

参见:http://blog.csdn.net/li19236/article/details/41486587

 

可变数组

环境变量名可以作为数组使用,值可以按单个值或者整个数组

要给某个环境变量设置多个值,可以把值放在括号里,值与值之间用空格隔开

如:

关于Linux环境变量