设置环境变量

1.环境变量的定义

环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

2. export终端命令

  • export命令可用于显示或设置环境变量。

  • export命令的效果仅限于当前终端

 export的语法:
export [-fnp] [变量名]=[变量设置值]

参数说明:

  • -f:代表[变量名称]中为函数名称。
  • -n:删除指定的变量;实际未删除,只是不会输出到后续指令的执行环境中。
  • -p:显示所有的shell赋予子程序的环境变量。

3.Linux设置环境变量的方法

3.1终端里直接用export命令

export PATH=$PATH:/home/dabai/test/bin

如果随便打开一个终端执行这个命令,那么确实会对PATH这个环境变量新添加一条,但是只对本次打开的这个终端有效,重新再打开一个是无效的。

3.2修改~/.bashrc文件

每个用户的根目录下,都会有个.bashrc隐藏文件。它是每个用户的个人配置文件,用于定义用户的个性化 shell 环境设置。当用户打开终端时,bash shell 会自动读取并执行该文件中的命令。用户可以在 .bashrc 文件中定义别名、环境变量、自定义函数等,以满足个人需求。修改 .bashrc 文件后,需要使用 source 命令使其生效,或者重新打开一个新的 shell 终端窗口

3.3修改/etc/profile文件

它是是系统级别的全局配置文件,适用于所有用户登录 shell 时的环境配置。对于每个用户登录时,系统会自动读取并执行 /etc/profile 文件中的命令。在 /etc/profile 文件中可以设置系统范围的环境变量、默认命令别名、系统级别的路径等等。修改 /etc/profile 文件后,需要使用 source 命令使其生效,或者重新登录以更新环境。

4.source命令

source 命令用于在当前 shell 环境中执行指定的脚本文件。例如,source ~/.bashrc 将会在当前 shell 环境中执行 .bashrc 文件中的命令。它可以用于加载和执行更新后的环境配置文件,以便立即应用新的配置,而无需重新登录或打开新的终端窗口。

5.使用API

C语言的库函数<stdlib.h>里面提供了许多操作进程环境变量的库函数

  • putenv():可向当前进程的环境变量数组中添加一个新的环境变量,或者修改一个已经存在的环境变量对
    应的值

  • setenv():可以替代 putenv()函数,用于向当前进程的环境变量列表中添加一个新的环境变量或修改现有
    环境变量对应的值

  • unsetenv():可以移除当前进程中某个环境变量

  • clearenv():删除当前进程所有环境变量

6.运行程序时改变

在终端中运行某个程序时,可以在其路径前加上键值对来添加环境变量,比如:

1
NAME=value ./app