Linux|| 了解环境变量

一:环境变量
1.1:概念

在这里插入图片描述小黑:大家在windows上配置过环境变量吗?
是不是感觉很神奇呢?

  • 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数

  • 环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息

  • 还有在系统当中通常具有全局特性

在这里插入图片描述小辉: 请看下列环境变量的特征

  • 1.字符串(本质)
  • 2.有统一的格式名=(值)
  • 3.值用来描述进程环境信息

环境变量是一个键值对结构: 键:变量 值:变量内容

  • env 查看到系统上所有的环境变量
1.2:常见环境变量

在这里插入图片描述小黑:请大家看一下常见的几种环境变量的使用

  • PATH : 指定命令的搜索路径

使用格式:echo $PATH

  • 与其作用相似
#include<stdio.h>
#include<stdlib.h>
 #include<unistd.h>

 int main(){
   char *result =getenv("PATH");
   printf("%s\n",result);
   return 0; 
 }
  • HOME : 指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)

使用格式: echo $HOME

  • SHELL : 当前Shell,它的值通常是/bin/bash

使用格式: echo $ SHELL

  • LANG :当前使用的语言

使用格式: echo $LANG

在这里插入图片描述小黑:main函数有三种形式你知道吗?
1.没有参数
2.main(int argc, char *argv[])
3.main(int argc,char *argv[],char *env[])
//参数argc:指明参数的个数
//参数argv:相当于参数的列表
//env也是一种字符串数组,当前的环境变量都有啥

通过main函数的第三个参数就能够获取到当前的环境变量

  • argc和argv的验证程序
#include<stdio.h>  
#include<unistd.h>  

int main(int  argc,char* argv[]){  
 
  printf("argc:%d\n",argc);  
  int i=0;  
  for(;i<argc;i++){  
    printf("%s\n",argv[i]);  
  }  
  return 0;  
}                                         
  • 运行结果

在这里插入图片描述

  • 对参数env的验证程序
#include<stdio.h>
#include<unistd.h>                                                 
 int main(int  argc,char* argv[]char *env[]){           
    printf("argc:%d\n",argc);
    int i=0;                 
    for(;env[i]!=NULL;i++){        
      printf("%s\n",env[i]);
    }                    
    return 0;       
  }            
  • 运行结果

在这里插入图片描述

1.3:查看环境变量的命令

在这里插入图片描述小黑:让我告诉大家几种查看环境变量的方法吧

  • 打印环境变量表
#include<stdio.h>

extera char** environ;

int main(){
    int i=0;
    for(;environ[i];i++){
        printf("%s\n",environ[i]);
    }
return 0;
}

echo $NAME //NAME:你的环境变量名称

例如: echo $ PATH :查看PATH路径

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

  int main(int argc,char *argv[],char *env[]){
      (void)argc;
      (void)argv;
      (void)env;
      char* result = getenv("PATH");
      printf("%s \n",result);
 
   return 0;
  }
//也可以获得与echo $PATH 相同的结果
  • 运行结果

在这里插入图片描述

或者echo $ HOME:普通模式下查看到的是用户的家目录,root模式下查看到的是 root

1.4:Linux上修改环境变量

在这里插入图片描述小辉:那么如何在Linux上通过命令来修改
环境变量呢?

pwd

  • 查看当前目录的绝对路径

echo ${PATH}

export PATH=$PATH:+pwd的结果

echo $PATH

  • 此时所看到的结果为你设置后的结果

在这里插入图片描述小黑:这只是暂时的改变了环境变量,
重启终端就可以恢复
如果想要永久的修改,还需要如下
操作

修改这个文件 ~ /. bashrc 能够让环境变量持久生效(rc:运行时控制)

【操作步骤】

  • 1.vim ~/.banshrc
  • 2.添加export PATH=$PATH:+所要添加的目录
  • 3.重连终端,就会生效
1.5:和环境变量相关的命令
  • 1.echo: 显示某个环境变量值[重点]
  • 2.export: 设置一个新的环境变量[重点]
  • 3.env: 显示所有环境变量[重点]
  • 4.unset: 清除环境变量
  • 5.set: 显示本地定义的shell变量和环境变量
1.6:Linux 上查看环境变量的命令:env
  • env : 查看系统上所有的环境变量
  • 2.echo $ {环境变量名} 查看某个环境变量
  • 3.export 修改环境变量,对于PATH 修改一般只是进行追加,不会把原来内容(路径)去掉

指令格式:export PATH=$PATH:/home/jack/a(将PATH路径与/home/jack/a进行了拼接)

可以通过重启终端来恢复PATH

PATH:shell中敲下的指令,去哪些目录中查找对应的可执行程序

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值