黑基网 首页 服务器 Linux 查看内容

Linux中将局部变量转换成环境变量

2017-5-28 20:25| 投稿: heilong916 |来自: 互联网

摘要: 当用户创建一个变量之后,这个变量只能在该用户目前工作的Shell环境中使用,一旦离开了当前的shell环境,该变量就失效了。只有环境变量才能不仅在当前的shell环境中生效,而且还可以在它的所有子shell中生效。如果想 ...

当用户创建一个变量之后,这个变量只能在该用户目前工作的Shell环境中使用,一旦离开了当前的shell环境,该变量就失效了。只有环境变量才能不仅在当前的shell环境中生效,而且还可以在它的所有子shell中生效。如果想在当前的shell和它的每一个子shell中使用自定义的变量,就必须将这个自定义的变量转换成环境变量,语法如下:

export 变量名

你可以把当前工作的shell看成一个主程序,将它的子shell看成这个主程序的一些子程序。而环境变量就相当于全局变量,因此环境变量可以在主程序和它的所有子程序中使用。

下面通过首先定义局部变量,之后再将其环境变量的例子来进一步解释将局部变量升级为环境变量的具体操作。下面还是使用DOG1_COLOR和DOG2_COLOR这两个自定义的变量,首先应该使用以set开始的组合命令来查看要创建的变量是否存在:

[email protected]:~$ set | grep DOG

确认不存在后,创建这一变量,并将它的值设定为black:

[email protected]:~$ DOG1_COLOR=black

使用以set开头的组合命令查看变量DOG1_COLOR和它的值:

[email protected]:~$ set | grep DOG

DOG1_COLOR=black

这里最好不要直接使用set测试,因为这样会显示太多毫不相关的变量。

确认DOG1_COLOR已经存在后,使用su命令切换到其他用户,我这里就切换到firefox,使用以set开始的组合命令来查看变量DOG1_COLOR和它的值:

[email protected]:~$ su firefox

[email protected]:/home/goddog$ set | grep DOG

系统执行完以上命令没有任何显示结果出现,这表明在firefox用户的环境中根本没有DOG1_COLOR这个变量,也就是firefox这个用户无法使用goddog用户的变量DOG1_COLOR。这也就证明了局部变量只在当前的shell中有效。这里由于是在goddog用户中使用su命令切换到firefox用户,所以goddog用户使用的shell称为主(parent)shell,而firefox用户使用的shell称为子(child)shell。


今天就分享这么多了,谢谢欣赏!^_^

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:http://www.toutiao.com/a6424982274295972097/

免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论


新出炉

返回顶部