linux的export命令

export 是 Linux/Unix shell 中的一个内置命令,主要用于将 shell 变量或函数导出为环境变量,使其在当前 shell 及其子进程中可用。

基本语法

1export [-fn] [name[=value] ...]
2export -p

主要参数

  • -f:将函数作为环境变量导出
  • -n:从导出的变量中移除指定名称
  • -p:列出所有导出的变量(这是默认行为)

使用示例

1. 导出变量

1export MY_VAR="Hello World"

这会将 MY_VAR 设置为环境变量,其值为 "Hello World"

2. 查看导出的变量

1export -p
2# 或直接输入
3export

3. 导出现有变量

1MY_VAR="Hello"
2export MY_VAR

4. 导出函数

1myfunc() { echo "This is a function"; }
2export -f myfunc

5. 取消导出变量

1export -n MY_VAR

实际应用场景

  1. PATH 环境变量设置

    1export PATH=$PATH:/usr/local/bin
  2. 临时设置语言环境

    1export LANG=en_US.UTF-8
  3. 脚本中设置环境变量

    1#!/bin/bash
    2export DB_HOST="localhost"
    3export DB_PORT="3306"
  4. 设置开发环境变量

    1export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
    2export PATH=$PATH:$JAVA_HOME/bin

注意事项

  1. 导出的变量只在当前 shell 及其子进程中有效,不会影响父进程
  2. 要使变量永久生效,需要将 export 命令添加到 shell 的配置文件(如 ~/.bashrc~/.bash_profile
  3. 环境变量名称通常使用大写字母,这是约定俗成的做法
  4. 变量值中包含空格时,需要用引号括起来

与普通变量的区别

特性普通变量环境变量 (export)
作用范围当前 shell当前 shell 及其子进程
子进程可见不可见可见
持久性shell 退出后消失shell 退出后消失

相关命令

  • env:查看或设置环境变量
  • printenv:打印环境变量
  • set:显示所有变量(包括环境变量和普通变量)
  • unset:删除变量