Centos下环境变量

    文章内容如下:

1)什么是环境变量;

2)如何通过程序获取环境变量;

3)  常识规律

一。环境变量的定义

    环境变量就是指一段路径。 定义环境变量主要是为了方便的执行程序。添加环境变量的方法是export PATH=$PATH:/A/B,export PATH=$PATH:/A/B表示把路径/A/B添加到环境变量PATH中去。

        添加环境变量的一个好处就是以后/A/B下的可执行程序不需要带路径了,直接写可执行程序名回车命令就可执行成功,系统会先去环境变量PATH中去找有没有你写的可执行程序,有就执行,事实上你的程序在添加到环境变量的那个路径里,所以执行肯定会成功,如果没有那么就会报错。实际上许多系统命令就是在环境变量PATH里,所以你执行系统指令时可以不带路径,当然你要是喜欢带路径也是可以的。需要指出的是系统里有许多环境变量,PATH只是Linux中的一部分。

        一般命令行中改环境变量只能在本次登陆中修改,一旦退出登录就又恢复老样子了。需要指出的是echo $PATH表示查看环境变量PATH的内容,环境变量PATH表示指定命令的搜索路径。echo是查看的意思,export是导入的意思。env回车能看见Linux下所有的环境变量。

二。通过程序获取环境变量

        众所周知,main()函数可以带3个参数,2个命令行参数,1个环境变量参数,如下图所示:

        argc统计的是命令行中有多少个参数,argv统计的是命令行中每个参数的地址,env统计的是命令行中每个参数的路径的地址

1)argc默认是1,当命令行上带了n个参数后argc是n+1。如ls回车后则默认argc是1,ls -l 回车后则默认argc是2;

2)假定上面的程序最终形成可执行程序file,那么 ./file -a -b -1 -i表示执行可执行程序file,并传入参数 -a -b -1 -i,参数 -a -b -1 -i 传入到哪里呢?传入到char* argv[ ]的指针数组里,其中./file也当参数传入进char* argv[ ]里,并且是指针数组argv[ ]的第一个元素,即 ./file -a -b -1 -i后argv[ ]里的元素从左到右依次为./file -a -b -1 -i。这么做的目的是让一个程序因为参数不同能使用不同的功能,像ls -a 与 ls -l等这样;

3)env表示 每一个进程在启动的时候,启动该进程的进程传递给它的环境变量信息都可以以该参数传导进来

 可用如下程序打印出指针数组env[]接收到的所有内容:

        更常用的是用getenv()获取环境变量内容,如getenv("PATH")表示获取环境变量PATH的内容

三。常识规律

        1)子进程的环境变量是从父进程来的;

        2)默认所有的环境变量都会被子进程继承。

        3)env | grep bit 表示用env获取环境变量bit,需要注意的是env只能获取与环境变量有关的变量,如果那个变量不是环境变量你又想查看,如bit=12345中的bit就不是环境变量,是局部变量,这时可以使用set | grep bit 查看一下,set | grep bit 表示用set查看变量bit

        4)环境变量一定是全局变量,在一般Linux中一般默认的就是bash中的变量,我们在命令行中定义的变量一般是局部变量,要想把局部变量变成全局变量只需把它导入环境变量即可。需要指出的是,一般命令行中改环境变量只能在本次登陆中修改,一旦退出登录就又恢复老样子了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值