理解环境变量

我们学习时常常需要安装相应的工具,例如MySQL安装,java环境的安装,go环境的安装等等。在其过程中常常会配置相应的环境变量。环境变量究竟是什么?我们这次进行总结学习。

环境变量

百度百科解释
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

环境变量是操作系统中的一个特殊对象,里面包含操作系统中指定的运行环境参数。我们常见的环境变量有:PATH、HOME、SHELL

  • PATH 指定文件的搜索路径
  • HOME 指定用户的主工作目录
  • SHELL 当前使用的shell

而我们安装各种学习环境时,常常配置的是PATH环境变量,使在终端各种文件位置下都能准确、方便的使用我们所需的可执行文件。
如以下的各种命令。

mysql -u root -p

sudo mysql.server status

javac helloworld.java

g++ main.cpp

常用的PATH变量究竟是什么?

我们以运行MySQL服务可执行程序为例。
在没有配置MySQL相应的PATH变量,我们想运行MySQL服务,只能在可执行文件目录下输入命令运行服务。
MySQL默认安装在/usr/local/mysql,mysql可执行文件在/usr/local/mysql/bin目录下。在这里插入图片描述
我们运行命令,登陆mysql。
在这里插入图片描述
而我们尝试在其他目录下运行mysql服务时,会得到错误command not found: mysql
在这里插入图片描述
这是因为该目录下并没有可执行文件mysql,所以无法执行mysql命令。如果总是要在指定目录下才能执行可执行文件,那么每次重启终端就需要重新进入到该目录下执行文件,无疑会导致开发效率降低。

操作系统环境变量PATH为我们提供了便捷。当我们设置了PATH变量,要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到PATH中指定的路径去找。用户通过设置环境变量,来方便地运行进程。

设立相应的环境变量PATH,就相当于为某个可执行文件在系统中设置了快捷方式,使得每一个目录下都能搜索到该可执行文件进而可以运行可执行文件。

Windows下PATH路径讲解

终端与环境变量相关的命令

echo:显示某个环境变量值
在这里插入图片描述
export:设置一个新的环境变量
下图为用户添加MySQL相应环境变量。
为用户添加MySQL相应环境变量
env:显示所有的环境变量
在这里插入图片描述

环境变量的组织方式

在这里插入图片描述
environ变量是char **类型,是一个字符指针数组,每个指针指向一个以’\0’结尾的环境字符串。

使用程序输出环境变量

每个程序都会收到一张环境表,环境表是一个字符指针数组。
C语言的main函数有三个参数。

int main( int argc, char *argv[], char *envp[] )

三个参数:

  • argc表示有多少个命令行参数,第一个就是执行程序名,所以argc最少为1。
  • argv是具体的参数。
  • envp是系统的环境变量,很少有介绍的。“名称=值”的形式,以NULL结束。
#include <stdio.h>
int main(int argc, char *argv[], char *env[])
{
    int i = 0;
    for (; env[i]; ++i)
    {
        printf("%s\n", env[i]);
    }
    return 0;
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
环境变量配置是在计算机系统中设置一个指向特定文件夹的变量,这个文件夹包含了程序运行所需要的文件资源。配置环境变量的目的是为了让系统在执行命令时能够快速找到所需的文件。通过配置环境变量,系统可以在当前文件夹找不到需要的文件时,自动到环境变量指定的文件夹中查找,直到找到为止。这样可以避免在每次执行命令时都要手动指定文件路径。配置环境变量可以提高开发效率并简化命令行操作。在Java开发中,配置Java环境变量是为了让系统能够正确找到Java JDK的安装路径,以便执行Java相关命令。具体的配置方法可以参考官方文档或各种教程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [深入理解为什么要配置环境变量?](https://download.csdn.net/download/weixin_38737213/14856706)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [深入理解环境变量——以java环境变量配置为例](https://blog.csdn.net/m0_49498841/article/details/122050748)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值