当用户创建一个变量以后,这个变量只能在该用户目前工作的Shell环境中使用linux apache 虚拟主机,一旦离开了当前的shell环境,该变量就失效了。只有环境变量能够除了在当前的shell环境中生效,并且还可以在它的所有子shell中生效。假如想在当前的shell和它的每一个子shell中使用自定义的变量,就必须将这个自定义的变量转换成环境变量,句型如下:
export变量名
你可以把当前工作的shell看成一个主程序,将它的子shell看成这个主程序的一些子程序。而环境变量就相当于全局变量,因而环境变量可以在主程序和它的所有子程序中使用。
下边通过首先定义局部变量,然后再将其环境变量的事例来进一步解释将局部变量升级为环境变量的具体操作。下边还是使用DOG1_COLOR和DOG2_COLOR这两个自定义的变量linux系统环境变量设置,首先应当使用以set开始的组合命令来查看要创建的变量是否存在:
goddog@promote:~$set|grepDOG
确认不存在后,创建这一变量,并将它的值设定为black:
goddog@promote:~$DOG1_COLOR=black
使用以set开头的组合命令查看变量DOG1_COLOR和它的值:
goddog@promote:~$set|grepDOG
DOG1_COLOR=black
这儿最好不要直接使用set测试suse linux,由于这样会显示太多毫不相关的变量。
确认DOG1_COLOR早已存在后,使用su命令切换到其他用户,我这儿就切换到firefox,使用以set开始的组合命令来查看变量DOG1_COLOR和它的值:
goddog@promote:~$sufirefox
firefox@promote:/home/goddog$set|grepDOG
系统执行完以上命令没有任何显示结果出现,这表明在firefox用户的环境中根本没有DOG1_COLOR这个变量linux系统环境变量设置,也就是firefox这个用户难以使用goddog用户的变量DOG1_COLOR。这也就证明了局部变量只在当前的shell中有效。这儿因为是在goddog用户中使用su命令切换到firefox用户,所以goddog用户使用的shell称为主(parent)shell,而firefox用户使用的shell称为子(child)shell。
明天就分享那么多了,感谢欣赏!^_^