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 ...
随机推荐
- 详解Web应用安全系列(5)敏感数据泄露漏洞
在最近几年,这是最常见的,最具影响力的攻击.这个领域最常见的漏洞是不对敏感数据进行加密.在数据加密过程中,常见的问题是不安全的密钥生成和管理以及使用弱密码算法,弱协议和弱密码.特别是使用弱的哈希算法来 ...
- 3562-IgH EtherCAT主站开发案例
- Excel插件之连接数据数据库秒数处理,办公轻松化
接上文,对excel连接数据库需求的进一步优化: Excel 更改数据同步更新到Mysql数据库 1.通过mysql for excel 插件的思路,了解到一个新的插件 sqlcel,通过这个插件ex ...
- 使用Eclipse开发Vue——CodeMix够智能
使用Eclipse开发Vue--CodeMix够智能 Eclipse的CodeMix插件允许您访问 VS Code和Code OSS扩展社区,以及 Webclipse 1.x 功能. Vue.js是构 ...
- Windows11下使用VcXsrv+xfce4实现图形化窗口
通过 sudo apt-get install xfce4-terminal sudo apt-get install xfce4 sudo service dbus restart 来安装所需要的软 ...
- vue3基础学习
第一章:vue3.0基础 1,认识vue3.0 vue3.0发布时间为2020-9-18,从项目体验上,vue3.0比起vue2.0有以下优势: 打包大小减少41% 初次渲染块55%,更新渲染块133 ...
- JMeter 后置处理器之JSON提取器
后置处理器之JSON提取器 By:授客 QQ:1033553122 测试环境 JMeter 5.4.1 插件介绍 JSON后置处理器(PostProcessor)允许使用 JSON Path 语法从J ...
- 题解:P10329 [UESTCPC 2024] Add
Add 题意 将序列进行一系列的操作,输出对 \(a_{1}\) 的期望值. 题目中操作说的比较明了,再次就不特殊声明了. 思路 据题意所知,每一个 \(n\) 应该对应了一个固定的答案. 于是我就想 ...
- gitbook 入门教程之比较代码块差异 diff 插件
在 markdown 文档中显示代码之间的差异的 Gitbook 插件 English | 中文 主页 Github : https://snowdreams1006.github.io/gitboo ...
- holiday week 1
本周进度总结: JAVA javafx以安装完毕并完成了环境配置 因处于小学期中java暂时搁置学习 自学了部分链表.多线程以及一些C/C++的知识,对部分C++库有了更进一步了解 因多线程的问题将平 ...