【Linux操作系统】-- 环境变量

本文详细介绍了Linux环境变量的基本概念,包括如何查看、导入和设置环境变量,特别强调了PATH变量在查找可执行文件中的作用。同时,文章还探讨了Windows环境变量的设置,并讨论了环境变量的全局特性,以及如何在代码中获取和使用环境变量。通过实例解释了命令行参数及其在实现命令不同功能中的应用。
摘要由CSDN通过智能技术生成

目录

基本概念

查看环境变量方法

环境变量的导入

 【永久路径】

 windows环境变量

 常见的环境变量

环境变量相关的命令

 命令行参数

 通过代码如何获取环境变量

环境变量具有全局属性


基本概念

  • 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数
  • 我们在写C/C++代码的时候,在链接的时候,从来不知道我们所链接的动态/静态库在哪里,但是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。
  • 环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性。

当写下面这个程序,并用make工具进行编译

[wjy@VM-24-9-centos 407test]$ cat myproc.c
#include <stdio.h>
#include <unistd.h>

int main()
{
  int cnt=5;
  while(cnt)
  {
    sleep(1);
    printf("I am a cmd -> process!\n");
    cnt--;
  }

  return 0;
}

[wjy@VM-24-9-centos 407test]$ cat makefile
myproc:myproc.c
	gcc -o $@ $^ -std=c99
PHONY:
clean:
	rm -f myproc 

make编译之后,生成可执行文件

[wjy@VM-24-9-centos 407test]$ ll
total 20
-rw-rw-r-- 1 wjy wjy   68 Apr  7 16:18 makefile
-rwxrwxr-x 1 wjy wjy 8408 Apr  7 16:20 myproc
-rw-rw-r-- 1 wjy wjy  167 Apr  7 16:20 myproc.c
[wjy@VM-24-9-centos 407test]$ ./myproc
I am a cmd -> process!
I am a cmd -> process!
I am a cmd -> process!
I am a cmd -> process!
I am a cmd -> process!

在我们用make工具写一个命令执行文件时候,会生成一个文件,这个文件就是用来执行源程序文件的编译文件,然后想要链接将程序结果打印在屏幕上,我们会输入“./xxx”命令。这些命令,程序,工具等等都是一个可执行文件。那么在运行的时候,为何要“./”呢?

我们知道./就是当前路径,当输入./后,就会帮系统确认对应的程序在哪里。那么为何系统的命令不用带路径呢?

通常执行一个程序需要找到对应路径下的文件,但是系统的命令可以不带路径,系统的命令可以自己找到这条命令,那么系统是怎样找到这条命令呢?

这时因为环境变量--PATH的原因。

查看环境变量方法

echo $PATH//PATH:环境变量名称,还有很多环境变量

获取./对应的路径,也就是环境变量,需要输入下面命令。但是需要主义的是,PATH前面要加$符号,PATH就像(但不是)一个指针,指针解引用之后才能取到里面内容,所以PATH前面要加一个$符号。

这里所有路径都用一个冒号作为分隔符,分割出了多条路径。所以系统想通过PATH找到路径,它的查找规则就是,在PATH当中先找第一个,找不到就找第二个路径,找不到再找下一个,如果找到了,后续就不再找了,那么系统将它的可执行程序跑起来。

但是我们并不推荐去自己自定义环境变量,因为拷进去之后会污染系统的命令池,时间长了可能会发现为什么这条语句会有一个打印语句。

当我们要在系统中安装一个软件,安装的过程就是将软件的路径拷贝到特定的系统命令路径下,完成安装,所以安装的过程就是拷贝的过程。

所以PATH就是搜索路径,系统能够找到命令,就是通过PATH找到环境变量

[wjy@VM-24-9-centos 407test]$ echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/wjy/.local/bin:/home/wjy/bin

环境变量的导入

如果就想用环境变量执行命令,该怎么把环境变量导入系统路径呢?

  • export 导入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值