温馨提示×

CentOS env命令怎么使用

小樊
47
2026-07-09 06:00:38
栏目: 智能运维

CentOS(以及大多数 Linux 发行版) 中,env 命令用于 显示或设置环境变量并在指定环境下运行程序。下面按常见用法详细说明。


一、查看当前环境变量

1️⃣ 查看所有环境变量

env

输出示例:

USER=root
HOME=/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
LANG=zh_CN.UTF-8

✅ 等价于:

printenv

2️⃣ 查看指定环境变量

env | grep PATH

或:

printenv PATH

二、使用 env 临时设置环境变量

1️⃣ 临时设置环境变量运行命令

env MY_VAR=hello echo $MY_VAR

⚠️ 注意:
echo $MY_VAR 是在 当前 shell 展开,所以可能看不到效果。

✅ 正确示例:

env MY_VAR=hello bash -c 'echo $MY_VAR'

输出:

hello

2️⃣ 同时设置多个环境变量

env VAR1=abc VAR2=123 bash -c 'echo $VAR1 $VAR2'

三、在“干净环境”中运行程序(常用)

1️⃣ 清空所有环境变量,只保留指定变量

env -i PATH=/bin:/usr/bin bash

说明:

  • -i:忽略当前环境变量
  • 只使用你指定的变量

✅ 常用于:

  • 排错
  • 安全执行
  • 构建环境

2️⃣ 在干净环境中运行脚本

env -i ./test.sh

四、env#!/usr/bin/env 的关系(非常重要)

1️⃣ 脚本中常见写法

#!/usr/bin/env bash

作用:

  • 自动在 PATH 中查找 bash
  • 不依赖 bash 的固定路径

✅ 比下面这种更灵活:

#!/bin/bash

五、常见参数说明

参数 说明
-i 忽略当前环境变量
-u 删除指定环境变量
VAR=value 设置环境变量

示例:删除环境变量

env -u PATH bash

六、与 export 的区别(重点)

命令 作用范围
export 当前 shell 及子进程
env 只对 后面执行的命令 有效

env 不会修改当前 shell 环境


七、常见实战示例

1️⃣ 临时指定语言环境

env LANG=en_US.UTF-8 ls

2️⃣ 调试环境变量问题

env -i env

八、总结(速查)

env                  # 查看所有环境变量
env VAR=value cmd    # 临时设置变量运行命令
env -i cmd           # 干净环境运行命令
env -u VAR cmd       # 删除变量运行命令

如果你有 具体使用场景(比如:Docker、crontab、脚本调试、Java 环境),我可以给你更针对性的示例。

0