用户登录

Environment variable,环境变量。操作系统或者应用程序在运行的时候会读取在系统中设置的环境变量,你可以把它想成是一些配置信息,应用可以读取某些环境变量获取到它们的值,然后根据这些环境变量的值再决定一些事情。

我们在开发应用的时候,也经常会设置一些环境变量,通常会作为应用需要的配置信息,然后会在应用里读取这些环境变量的值。

**查看环境变量**

在 macOS 或者 Linux 系统里,查看系统当前设置的一些环境变量,可以执行 env 或者 printenv 命令。执行一下 `env` 这个命令,输出的东西就是当前设置的一些环境变量还有它们的值。环境变量的名字一般都是全部大写的字母,比如这个 HOME,它表示的应该就是当前登录的用户的主目录,USER 这个环境变量表示的是当前登录的用户的名字。

```
HOME=/Users/wanghao
USER=wanghao
```

这些环境变量有些是系统设置的,有些是额外安装的应用设置的,比如这个 WARP_USE_SSH_WRAPPER,应该就是 Warp 这个软件设置的环境变量。

查看某个具体的环境变量的值,可以使用 echo 命令,后面是要查看的环境变量的名字,注意要在名字前面加上 $ 符号,执行一下 echo $USER,输出的就是 USER 这个环境变量的值,这里就是用 $ 的形式引用了一下 USER 这个环境变量的值。

```
echo $USER
```

**设置环境变量**

设置环境变量可以使用 export 这个命令,执行一下 export 后面是要设置的环境变量的名字,比如 APP_NAME,然后在等号右边是给这个环境变量指定的值,比如 “宁皓网”。

```
export APP_NAME="宁皓网"
```

回车执行一下,然后再次执行 env 命令输出环境变量列表,这次你会看到 APP_NAME 这个环境变量,它的值是“宁皓网”。也可以执行 echo $APP_NAME 直接输出 APP_NAME 这个环境变量的值。

关掉终端,重新再打开,然后再执行一下 echo $APP_NAME 命令,刚才设置的这个 APP_NAME 环境变量已经不见了。如果你希望每次打开终端的时候,都设置一下需要的环境变量,可以把它放在终端的配置文件里。用 vi 命令编辑一下用户主目录下的 .zprofile 这个文件。

```
vi ~/.zprofile
```

按一下小 i,输入 export APP_NAME="鲲浪",完成以后按 esc 退出,再执行 :wq 保存文件。让新做的配置生效,可以重新打开终端,或者执行一下 source ~/.zprofile,再执行一下 echo $APP_NAME,会输出 APP_NAME 这个环境变量的值。

关掉终端,重新再打开它,按一下向上剪头,重新执行之前执行过的 echo $APP_NAME,这次仍然会输出 APP_NAME 这个环境变量的值。

**Node.js 应用**

在 Node.js 应用里,通过 process 里的 env 这个属性可以获取到需要的环境变量的值。如果你在系统里安装了 Node.js,可以执行 node 这个命令,这样会打开一个交互模式,在里面输入 process.env,你会发现输出的这个对象就是系统里的环境变量,在这里你可以找到刚才用 export 设置的 APP_NAME 这个环境变量。再访问一下 process.env.APP_NAME,输出的就是这个环境变量的值。

环境变量也可以在运行程序的时候设置,这里可以直接设置一些环境变量,先按一下 ctrl +D 退出交互模式,然后输入 APP_BASE_URL=https://ninghao.net 后面是要执行的 node。打开交互模式以后,再访问一下 process.env,你会发现这里会有运行 node 应用的时候设置的 APP_BASE_URL 这个环境变量。

在开发 Node.js 应用的时候,我们经常会在应用里设置一些环境变量,用作项目的配置信息。一般我们会把环境变量还有它们的值放到一个特定的文本文件里,然后想办法在启动应用的时候读取这个文本文件里的内容,再设置一下需要的环境变量。

设置环境变量(env)《 DevOps 开发运维:命令界面 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点