Skip to content

export的用法整理

vue2项目模板里有用到cross-env,NODE目的是跨系统的设置系统变量。

js
  "scripts": {
    "dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot",
    "build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"
  }

执行脚本后,process.env.NODE_ENV的值就是development或者production。 对于mac的话本质是通过export去设置环境变量,在命令行里 export NODE_ENV=development, 使用echo $NODE_ENV可以查看。

export 是 Unix 及 macOS 终端中的一个 shell 内置命令,主要用于定义或修改环境变量,使其在当前 shell 及其子进程中可用。

基本用法

1. 设置环境变量

bash
export 变量名=值

示例:

bash
export MY_VAR="Hello World"

然后可以使用 echo 查看:

bash
echo $MY_VAR

2. 让命令全局可用

如果你有一个可执行文件 my_script.sh,你可以把它的路径添加到 PATH 变量,使其在终端任何位置都可执行:

bash
export PATH=$PATH:/Users/yourname/scripts

然后你就可以在任何地方直接运行 my_script.sh

3. 持久化环境变量

默认情况下,export 仅对当前终端会话有效。要让环境变量在新的终端窗口中也有效,需要将其添加到 ~/.zshrc(macOS 默认 shell)或 ~/.bash_profile

bash
echo 'export MY_VAR="Hello World"' >> ~/.zshrc
source ~/.zshrc  # 使更改立即生效

4. 取消导出变量

使用 unset 可以删除已导出的变量:

bash
unset MY_VAR

5. 常用环境变量及其用途

  1. PATH:定义了命令查找的目录路径。

    • 作用:如果你安装了新软件并希望通过命令行运行它,你需要将该软件的路径添加到 PATH 中。
    bash
    export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"
  2. HOME:指向用户的主目录。

    • 作用:常用来指向当前用户的主目录,通常自动设置。
    bash
    export HOME="/Users/yourname"
  3. USER:当前登录的用户名。

    • 作用:指示当前登录用户的用户名。
    bash
    export USER="yourname"
  4. EDITOR:指定默认的文本编辑器。

    • 作用:在使用如 git 或其他命令时,指定默认的编辑器。
    bash
    export EDITOR="nano"
  5. LANG:设置系统的语言环境。

    • 作用:确定默认的语言、地区和字符集编码。
    bash
    export LANG="en_US.UTF-8"
  6. TERM:定义终端类型。

    • 作用:告诉程序你正在使用什么类型的终端,通常不需要修改。
    bash
    export TERM="xterm-256color"
  7. SHELL:当前使用的 shell 的路径。

    • 作用:指示当前正在使用的 shell 类型,如 bashzsh 等。
    bash
    export SHELL="/bin/zsh"
  8. LD_LIBRARY_PATH:动态库查找路径。

    • 作用:告诉系统在运行时查找共享库文件的路径。
    bash
    export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
  9. PS1:定义 Shell 提示符的格式。

    • 作用:设置命令行提示符的样式。
    bash
    export PS1="\u@\h \W$ "
  10. JAVA_HOME:Java 安装路径。

    • 作用:设置 Java 环境变量,供程序或 IDE 使用。
    bash
    export JAVA_HOME="/usr/lib/jvm/java-11-openjdk"
  11. PYTHONPATH:Python 模块搜索路径。

    • 作用:告诉 Python 在哪些目录查找模块。
    bash
    export PYTHONPATH="/Users/yourname/python_modules"
  12. NODE_PATH:Node.js 模块搜索路径。

    • 作用:告诉 Node.js 在哪些目录查找模块。
    bash
    export NODE_PATH="/Users/yourname/node_modules"
  13. NODE_PATH:查看所有环境变量。

    bash
    export -p

设置持久性环境变量

如果你希望这些环境变量在每次打开终端时都能生效,你需要将 export 命令添加到你的 shell 配置文件中。例如,~/.bash_profile(Bash)或 ~/.zshrc(Zsh):

  1. 打开 shell 配置文件:

    bash
    nano ~/.zshrc    # 如果你使用的是 Zsh
    # 或
    nano ~/.bash_profile    # 如果你使用的是 Bash
  2. 将需要设置的环境变量添加到文件末尾,如:

    bash
    export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"
    export JAVA_HOME="/usr/lib/jvm/java-11-openjdk"
  3. 保存并退出编辑器。

  4. 使更改生效:

    bash
    source ~/.zshrc    # 如果你使用的是 Zsh
    # 或
    source ~/.bash_profile    # 如果你使用的是 Bash

查看已设置的环境变量

你可以使用 echo 命令查看当前环境变量的值,例如:

bash
echo $PATH
echo $HOME
echo $JAVA_HOME

这些命令会输出相应环境变量的值。

删除环境变量

如果你想删除一个环境变量,可以使用 unset 命令:

bash
unset JAVA_HOME
unset PATH

常见用法示例

  • 设置 Java 路径:

    bash
    export JAVA_HOME=$(/usr/libexec/java_home)
  • 设置代理:

    bash
    export HTTP_PROXY="http://proxy.example.com:8080"
    export HTTPS_PROXY="http://proxy.example.com:8080"
  • 配置 Python 虚拟环境:

    bash
    export PATH="/Users/yourname/.pyenv/shims:$PATH"

上次更新于: