env 命令在 Unix 和 Unix-like 操作系统中,是用来运行一个指定的程序/命令,在执行时可以修改环境变量的一个工具。使用 env 可以启动任何指定的指令,并在这个指令的执行过程中设置或者修改环境变量。

env 命令的常见用途包括:

打印当前环境变量

简单地运行 env 不加任何参数,可以列出当前 shell 会话的所有环境变量。

env

修改或设置环境变量

在运行某个程序时,如果需要临时修改环境变量,可以使用 env 来实现。

env VAR=value command

这个例子中,VAR 环境变量被设置为 value,然后执行 command。执行完成后,环境变量的更改不会影响当前 shell 会话或其他程序。

很多时候我们会这样写:

VAR=value command

这种写法更推荐,不过这种写法和上面的写法并不完全等价。如果其中一种形式不可用,可以试试换另外一种形式。

清除环境变量

可以使用 env -i 来运行一个命令,而在执行该命令时会忽略当前的环境变量,也就是说命令将在一个清洁的环境中执行。

env -i command

env 命令在编写脚本时特别有用,比如你需要确保一个命令是在特定的环境变量配置下执行。它也常常被用于创建 Cron 作业,因为 Cron 作业默认不会加载用户的整个环境配置。此外,env 也是制作可移植脚本的常用工具,因为它允许脚本找到系统路径中某个程序的正确执行文件,即使不同系统的路径设置不一样。例如,#!/usr/bin/env python 这样的 shebang 行可以确保脚本使用环境变量 PATH 中的第一个 Python 解释器来执行,而与具体的安装位置无关。

解释:如果将 shebang 行写为 #!/usr/bin/python,相当于写死了 Python 解释器的路径,如果用户的 Python 没有安装在这个路径下,或者用户不想使用这个路径下的 Python,那么这种写法就不合适。而 #!/usr/bin/env python 这样的写法则避免了这个问题,它会确保脚本使用 env 寻找环境变量 PATH 中的第一个 Python 解释器来执行。

env 命令简介的更多相关文章

  1. Ansible(二) - 配置及命令简介

    Ⅰ. Ansible Inventory Hosts文件配置 # mkdir /etc/ansible # touch /etc/ansible/hosts # cat /etc/hosts 127. ...

  2. Docker - Dockerfile - 常见命令简介

    概述 感觉是个 比较重要的东西 有个疑问 我是先讲 docker build 还是 先讲 Dockerfile 穿插讲 docker build 最基本的东西 原理 -t -f docker file ...

  3. mac终端命令简介

    mac终端命令简介(适合刚刚入手mac的新人们) 1.取得root权限 意义相当与windows中的超级管理员权限,甚至还要超出.root权限可以修改系统中的任何文件,不过对普通用户的意义不大,了解即 ...

  4. linux中的strings命令简介2

    摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 之前我们聊过linux strings的用法和用 ...

  5. linux中的strings命令简介

    摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 在linux下搞软件开发的朋友, 几乎没有不知道 ...

  6. Centos下grep命令简介

    grep命令简介 grep 是一个最初用于Unix操作系统的命令行工具.在给出文件列表或标准输入后,grep会对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配(或者不匹配)的行或文本. grep ...

  7. lsof命令简介

    lsof命令简介: lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件 ...

  8. perf 高级命令简介

    perf 高级命令简介 1.使用 tracepoint 当 perf 根据 tick 时间点进行采样后,人们便能够得到内核代码中的 hot spot. 使用ls命令来演示 sys_enter 这个tr ...

  9. env命令详解

    env命令时gnu的coreutils包内的一个软件,它的功能是:在一个修改后的环境里执行命令. 通俗的讲:一个linux软件可能被安装在好几个地方,举个例子:在最新的centos中perl的版本为5 ...

  10. Windbg 脚本命令简介 二, Windbg command

    Windbg  脚本命令简介 二, Windbg  script command $<, $><, $$<, $$><, $$>a< (Run Scri ...

随机推荐

  1. 使用kafka作为生产者生产数据到hdfs

    关键:查看kafka官网的userGuide 配置文件: agent.sources = r1agent.sinks = k1agent.channels = c1 ## sources config ...

  2. welcome to chifan-duck's blog

    博主简介 截至至 2024 博主事一名初二学生. 为什么开博客园 因为博主是一名 Oier. 博客内容 OI 知识(科技)的普及 & 题解 为什么叫 chifan-duck ? 原本博主再各大 ...

  3. AT_abc318_g 题解

    因为是图上路径是否经过某个点的问题,所以考虑建出圆方树,然后根据圆方树的性质,\(a\) 到 \(c\) 存在经过 \(b\) 的路径等价于 \(a,c\) 在圆方树上的路径经过 \(b\) 或者 \ ...

  4. 【Playwright+Python】系列教程(四)Pytest 插件在Playwright中的使用

    一.命令行使用详解 使用Pytest插件在Playwright 中来编写端到端的测试. 1.命令行执行测试 pytest --browser webkit --headed 2.使用 pytest.i ...

  5. MyBatis xml文件头

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC & ...

  6. C# 枚举帮助类EnumHelper(获取描述、名称和数值)

    帮助类定义 public class EnumHelper { #region 静态方法 public static Dictionary<string, string> GetEnumD ...

  7. 软件设计 软件设计模式之SOLID原则

    软件设计模式之SOLID原则 By:授客 QQ:1033553122 #单一职责原则(SRP) 定义:任何一个软件模块都只对某一类行为者负责 说明:这里"软件模块",在大部分情况下 ...

  8. 带你学习通过GitHub Actions如何快速构建和部署你自己的项目,打造一条属于自己的流水线

    本文主要讲解通过github的actions来对我们项目进行ci/cd 一.actions简介 GitHub Actions 是一种持续集成和持续交付 (CI/CD) 平台,可用于自动执行生成.测试和 ...

  9. mybatisplus轻松完成一次模糊+分页查询

    之前一直用mybatis+pageinfo完成模糊+分页查询,还需要手写sql语句,之前一直没做尝试,今天试了试mybatisplus一个人完成模糊+分页,挺简单的 有一个小插曲是,我的前端接受的da ...

  10. AMD 驱动安装 error 192解决问题

    AMD 驱动安装 error 192解决问题 环境:win10专业版.自动更新已禁止.硬件安装设置[是](window自动下载驱动) [以下环境均在安全模式下进行 (win+r msconfig,安全 ...