env 命令简介
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 命令简介的更多相关文章
- Ansible(二) - 配置及命令简介
Ⅰ. Ansible Inventory Hosts文件配置 # mkdir /etc/ansible # touch /etc/ansible/hosts # cat /etc/hosts 127. ...
- Docker - Dockerfile - 常见命令简介
概述 感觉是个 比较重要的东西 有个疑问 我是先讲 docker build 还是 先讲 Dockerfile 穿插讲 docker build 最基本的东西 原理 -t -f docker file ...
- mac终端命令简介
mac终端命令简介(适合刚刚入手mac的新人们) 1.取得root权限 意义相当与windows中的超级管理员权限,甚至还要超出.root权限可以修改系统中的任何文件,不过对普通用户的意义不大,了解即 ...
- linux中的strings命令简介2
摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 之前我们聊过linux strings的用法和用 ...
- linux中的strings命令简介
摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 在linux下搞软件开发的朋友, 几乎没有不知道 ...
- Centos下grep命令简介
grep命令简介 grep 是一个最初用于Unix操作系统的命令行工具.在给出文件列表或标准输入后,grep会对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配(或者不匹配)的行或文本. grep ...
- lsof命令简介
lsof命令简介: lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件 ...
- perf 高级命令简介
perf 高级命令简介 1.使用 tracepoint 当 perf 根据 tick 时间点进行采样后,人们便能够得到内核代码中的 hot spot. 使用ls命令来演示 sys_enter 这个tr ...
- env命令详解
env命令时gnu的coreutils包内的一个软件,它的功能是:在一个修改后的环境里执行命令. 通俗的讲:一个linux软件可能被安装在好几个地方,举个例子:在最新的centos中perl的版本为5 ...
- Windbg 脚本命令简介 二, Windbg command
Windbg 脚本命令简介 二, Windbg script command $<, $><, $$<, $$><, $$>a< (Run Scri ...
随机推荐
- 使用kafka作为生产者生产数据到hdfs
关键:查看kafka官网的userGuide 配置文件: agent.sources = r1agent.sinks = k1agent.channels = c1 ## sources config ...
- welcome to chifan-duck's blog
博主简介 截至至 2024 博主事一名初二学生. 为什么开博客园 因为博主是一名 Oier. 博客内容 OI 知识(科技)的普及 & 题解 为什么叫 chifan-duck ? 原本博主再各大 ...
- AT_abc318_g 题解
因为是图上路径是否经过某个点的问题,所以考虑建出圆方树,然后根据圆方树的性质,\(a\) 到 \(c\) 存在经过 \(b\) 的路径等价于 \(a,c\) 在圆方树上的路径经过 \(b\) 或者 \ ...
- 【Playwright+Python】系列教程(四)Pytest 插件在Playwright中的使用
一.命令行使用详解 使用Pytest插件在Playwright 中来编写端到端的测试. 1.命令行执行测试 pytest --browser webkit --headed 2.使用 pytest.i ...
- MyBatis xml文件头
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC & ...
- C# 枚举帮助类EnumHelper(获取描述、名称和数值)
帮助类定义 public class EnumHelper { #region 静态方法 public static Dictionary<string, string> GetEnumD ...
- 软件设计 软件设计模式之SOLID原则
软件设计模式之SOLID原则 By:授客 QQ:1033553122 #单一职责原则(SRP) 定义:任何一个软件模块都只对某一类行为者负责 说明:这里"软件模块",在大部分情况下 ...
- 带你学习通过GitHub Actions如何快速构建和部署你自己的项目,打造一条属于自己的流水线
本文主要讲解通过github的actions来对我们项目进行ci/cd 一.actions简介 GitHub Actions 是一种持续集成和持续交付 (CI/CD) 平台,可用于自动执行生成.测试和 ...
- mybatisplus轻松完成一次模糊+分页查询
之前一直用mybatis+pageinfo完成模糊+分页查询,还需要手写sql语句,之前一直没做尝试,今天试了试mybatisplus一个人完成模糊+分页,挺简单的 有一个小插曲是,我的前端接受的da ...
- AMD 驱动安装 error 192解决问题
AMD 驱动安装 error 192解决问题 环境:win10专业版.自动更新已禁止.硬件安装设置[是](window自动下载驱动) [以下环境均在安全模式下进行 (win+r msconfig,安全 ...