【Linux 环境变量】环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数

1.问题:为什么自己写的程序需要加上./才能执行,但是指令可以直接使用,例:ls -al?

因为:不加"./"执行程序的时候会按环境变量PATH里面的各个路径找到就正常执行,找不到就报错;

查找环境变量的方法:echo $环境变量名

echo $PATH

 如果想让自己写的代码可以不用加"./"的话,改变使用export改变环境变量

 2.关于环境变量的命令

env:显示所有的环境变量

echo $环境变量名:显示指定环境变量

export: 设置一个新的环境变量

unset 环境变量名:清除环境变量 

set:显示本地定义的shell变量和环境变量 

内容特别多

 本地变量和环境变量区别

  • 本地变量只存在这次登录,环境变量不删除每次登录都在(环境变量值可能会被刷新)

3.main函数的命令行参数

int main(int argc,char* argv[])
#include<iostream>
using std::cout;
using std::endl;

int main(int argc,char* argv[])
{
	for(int i=0;i<argc;i++)
	{
		cout<<argv[i]<<endl;
	}
	return 0;
}

使用上面这段代码来测试一下argc和argv是具体什么;

  • 由上面的执行结果可以得出argc是命令行输入以空格隔开的字符串的个数,argv是一个包括以空格隔开的字符串的字符串指针数组
#include<string.h>
#include<iostream>
using std::cout;
using std::endl;

int main(int argc,char* argv[])
{
	if(argc!=2)
	{
		cout<<"mycode -a/-b"<<endl;
		return 1;
	}
	if(strcmp(argv[1],"-a")==0)
	{
		cout<<"Option 1"<<endl;
	}
	else if(strcmp(argv[1],"-b")==0)
	{
		cout<<"Option 2"<<endl;
	}
	else
	{
		cout<<"default"<<endl;
	}
	return 0;
}

 执行上面代码

  • 可以得出命令行的执行原理 

4.在代码中怎么获取环境变量值

get("环境变量"):获取对应的环境变量值

#include<stdlib.h>
#include<iostream>
using std::cout;
using std::endl;

int main(int argc,char* argv[])
{
	cout<<getenv("PATH")<<endl;
	return 0;
}

 执行结果:

 环境变量具有全局属性

#include<stdlib.h>
#include<iostream>
using std::cout;
using std::endl;

int main(int argc,char* argv[])
{
	cout<<getenv("MYENV")<<endl;
	return 0;
}

一开始执行结果:

把MYENV加入环境变量中,执行结果 :

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值