linux-----环境变量

 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

常见的环境变量:

PWD:记录当前工作目录

PATH : 指定命令的搜索路径
HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
SHELL : 当前Shell,它的值通常是/bin/bash。
查看环境变量:echo $NAME //NAME:你的环境变量名称

1. echo: 显示某个环境变量值
2. export: 设置一个新的环境变量
3. env: 显示所有环境变量
4. unset: 清除环境变量
5. set: 显示本地定义的shell变量和环境变量

获取环境变量:函数getenv()

设置环境变量:putenv()
 


提示:以下是本篇文章正文内容,下面案例可供参考

一.main函数的参数

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(int arge,char* arg[])
{
 printf("%d",arge);
 for(int j=0;j<arge;j++)
 {
     printf("arg[%d]=%s\n",j,arg[j]);
 }

我们在linux命令下输入命令编译运行结果如下:

这里我们从键盘上输入的指令,会被bash维护,形成一张表每个元素是一个字符串以空格分开,以NULL作为结尾 。形参arge是元素的个数,char* arg[]指向是一个数组指针,数组存储的是字符串。

我们可以用它来用在同个程序中,通过指令选项执行不同的功能。

以下实现简单的计算器:

2.什么是环境变量

1.Linux中的环境变量有很多,它们之间是独立的,不同场景下有不同的用处。可以通过指令env查看当前机器的所有环境变量。操作系统会开辟内存存储用户名,当前的工作目录,家目录等一些信息,在你登入linux的时候,它就已经被加载好了。例如 PATH, PWD ,HOME,USER

如下(示例)

2.1我们可以用系统的环境变量干什么。

1.用PATH来说:’linux中每个命令能被执行,因为在PATH中记录了它们的路径,命令也是代码,要执行运行必须要知道它在哪。我们在运行我们自己写的编译好的可执行文件,要带上./可执行文件或者绝对路径

要让我们程序之间运行,而不带路径,那么就要把当前文件的工作目录路径添加到PATH中

1.直接将路径拷贝到PATH的其中一个路径下。不过并不建议因为会污染变量,当然污染之后重启Linux也是会恢复的‘

2.指令:PATH=文件的工作目录路径:$PATH。

这样我们就可以像指令一样直接执行了,而不用指明路径(./mybin)

3.环境变量的导入和普通变量

3.1.自己创造环境变量:

export +变量名+赋值。通过env查看

3.2 普通变量

普通变量不是环境变量,不可以被子进程继承,它是bash的内部的

4.环境变量的获取

3.通过系统调用函数getenv()查找特定的环境变量。这里的数组指针env也是bash维护的,指向的数组中是当前机器的环境变量。

1.系统调用接口

getenv()

#include<stdlib.h>
#include<stdio.h>
int main(int arg,char*arge[],char* env[])
{

 char* username=getenv("PATH");
 printf("%s",username);
 return 0;
 }

PATH: 

2.通过第三方变量environ获取

5.环境变量的特点

1.全局性:父进程的环境变量会被子进程继承。

6.bash读取环境变量

文件

环境变量是可以被继承的,我们登入虚拟机,bash进程会读取系统和用户的环境变量,其中用户的环境变量在隐藏文件。比如.bashrc


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值