linux中环境变量、bash_profile、bashrc、bash_history、bash_logout之间的区别以及在node中的使用

查看环境变量

# 查看全部环境变量
env
# 查看某一个
echo $PATH

设置环境变量

# 新增环境变量
export http_proxy=http://127.0.0.1:8080/
# 删除环境变量
unset http_proxy

首次使用查看 家 目录有没有 .bash_profile 文件,没有就创建一个,这样才能使用那些命令。更改完此文件用 source ~/.bash_profile 命令使配置生效

用户级别 ~/.bash_profile ~/.bashrc ~/.bash_history~/.bash_logout文件的区别

上面这三个文件是bash shell的用户环境配置文件,位于用户的主目录下。
~/.bash_profile:是最重要的一个配置文件,它在用户每次登录系统时被读取,里面的所有命令都会被bash执行。
~/.bashrc:会在bash shell调用另一个bash shell时读取,也就是在shell中再键入bash命令启动一个新shell时就会去读该文件。这样可有效分离登录和子shell所需的环境。但一般 来说都会在.bash_profile里调用.bashrc脚本以便统一配置用户环境。
~/.bash_history:里面记录了你在bash shell中输入的所有命令。
~/.bash_logout:在退出shell时被读取。所以我们可把一些清理工作的命令放到这文件中。

系统级别 /etc/bashrc /etc/profile 文件的区别

当在用户主目录下找不到 ~/.bash_profile~/.bashrc 时,就会读取这两个文件。

在node中使用环境变量

我们经常启动node服务时这么用:

// linux中
NODE_ENV=test node app.js
// windows中
set NODE_ENV=test
node app
// 使用 cross-env
npm i cross-env -g
cross-env NODE_ENV=test node app
// 直接在代码中设置环境变量
process.env.NODE_ENV = 'production'

通过以上命令启动程序,指定当前环境变量 NODE_ENV 的值为 test,那么在 app.js 中可通过 process.env 来获取环境变量:

console.log(process.env.NODE_ENV)
// test

你可能感兴趣的:(运维)