export的用法整理
vue2项目模板里有用到cross-env,NODE目的是跨系统的设置系统变量。
"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. 设置环境变量
export 变量名=值示例:
export MY_VAR="Hello World"然后可以使用 echo 查看:
echo $MY_VAR2. 让命令全局可用
如果你有一个可执行文件 my_script.sh,你可以把它的路径添加到 PATH 变量,使其在终端任何位置都可执行:
export PATH=$PATH:/Users/yourname/scripts然后你就可以在任何地方直接运行 my_script.sh。
3. 持久化环境变量
默认情况下,export 仅对当前终端会话有效。要让环境变量在新的终端窗口中也有效,需要将其添加到 ~/.zshrc(macOS 默认 shell)或 ~/.bash_profile:
echo 'export MY_VAR="Hello World"' >> ~/.zshrc
source ~/.zshrc # 使更改立即生效4. 取消导出变量
使用 unset 可以删除已导出的变量:
unset MY_VAR5. 常用环境变量及其用途
PATH:定义了命令查找的目录路径。- 作用:如果你安装了新软件并希望通过命令行运行它,你需要将该软件的路径添加到
PATH中。
bashexport PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"- 作用:如果你安装了新软件并希望通过命令行运行它,你需要将该软件的路径添加到
HOME:指向用户的主目录。- 作用:常用来指向当前用户的主目录,通常自动设置。
bashexport HOME="/Users/yourname"USER:当前登录的用户名。- 作用:指示当前登录用户的用户名。
bashexport USER="yourname"EDITOR:指定默认的文本编辑器。- 作用:在使用如
git或其他命令时,指定默认的编辑器。
bashexport EDITOR="nano"- 作用:在使用如
LANG:设置系统的语言环境。- 作用:确定默认的语言、地区和字符集编码。
bashexport LANG="en_US.UTF-8"TERM:定义终端类型。- 作用:告诉程序你正在使用什么类型的终端,通常不需要修改。
bashexport TERM="xterm-256color"SHELL:当前使用的 shell 的路径。- 作用:指示当前正在使用的 shell 类型,如
bash、zsh等。
bashexport SHELL="/bin/zsh"- 作用:指示当前正在使用的 shell 类型,如
LD_LIBRARY_PATH:动态库查找路径。- 作用:告诉系统在运行时查找共享库文件的路径。
bashexport LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"PS1:定义 Shell 提示符的格式。- 作用:设置命令行提示符的样式。
bashexport PS1="\u@\h \W$ "JAVA_HOME:Java 安装路径。- 作用:设置 Java 环境变量,供程序或 IDE 使用。
bashexport JAVA_HOME="/usr/lib/jvm/java-11-openjdk"PYTHONPATH:Python 模块搜索路径。- 作用:告诉 Python 在哪些目录查找模块。
bashexport PYTHONPATH="/Users/yourname/python_modules"NODE_PATH:Node.js 模块搜索路径。- 作用:告诉 Node.js 在哪些目录查找模块。
bashexport NODE_PATH="/Users/yourname/node_modules"NODE_PATH:查看所有环境变量。bashexport -p
设置持久性环境变量
如果你希望这些环境变量在每次打开终端时都能生效,你需要将 export 命令添加到你的 shell 配置文件中。例如,~/.bash_profile(Bash)或 ~/.zshrc(Zsh):
打开 shell 配置文件:
bashnano ~/.zshrc # 如果你使用的是 Zsh # 或 nano ~/.bash_profile # 如果你使用的是 Bash将需要设置的环境变量添加到文件末尾,如:
bashexport PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH" export JAVA_HOME="/usr/lib/jvm/java-11-openjdk"保存并退出编辑器。
使更改生效:
bashsource ~/.zshrc # 如果你使用的是 Zsh # 或 source ~/.bash_profile # 如果你使用的是 Bash
查看已设置的环境变量
你可以使用 echo 命令查看当前环境变量的值,例如:
echo $PATH
echo $HOME
echo $JAVA_HOME这些命令会输出相应环境变量的值。
删除环境变量
如果你想删除一个环境变量,可以使用 unset 命令:
unset JAVA_HOME
unset PATH常见用法示例
设置 Java 路径:
bashexport JAVA_HOME=$(/usr/libexec/java_home)设置代理:
bashexport HTTP_PROXY="http://proxy.example.com:8080" export HTTPS_PROXY="http://proxy.example.com:8080"配置 Python 虚拟环境:
bashexport PATH="/Users/yourname/.pyenv/shims:$PATH"