ENV(1) | 用户命令 | ENV(1) |
名称¶
env - 在重建的环境中运行程序
概述¶
env [选项]... [-] [名称=值]... [命令 [参数列表]...]
描述¶
在环境中将每个指定名称的环境变量设为指定的值,并运行给定命令。
必选参数对长短选项同时适用。
- -i, --ignore-environment
- 不带环境变量启动
- -0, --null
- 使每行输出以 NUL 字符结束,不添加换行符
- -u, --unset=名称
- 从环境中移除指定环境变量
- -C, --chdir=指定目录名称
- 将工作目录修改为指定的目录名称
- -S, --split-string=S
- 处理并将 S 字符串分割为多个参数;用于向 shebang 行传递多个参数
- --block-signal[=信号]
- 阻挡向指定命令传递指定的信号
- --default-signal[=信号]
- 将对指定信号的处理方式重置为默认方式
- --ignore-signal[=信号]
- 将对指定的一种或多种信号的处理方式设置为什么都不做
- --list-signal-handling
- 向标准错误输出非默认的信号处理方式
- -v, --debug
- 为每个处理流程输出详细信息
- --help
- 显示此帮助信息并退出
- --version
- 显示版本信息并退出
单独的“-”隐含选项 -i。如果没有给定命令,则输出重建后的环境。
参数中的信号可以是类似 'PIPE' 这样的信号名称,也可以是如 '1' 这样的信号编码。所有已知信号均包括其中。如需指定多个信号,可以使用半角逗号隔开。
选项¶
-S/--split-string 在脚本中的用法¶
-S 选项可以在脚本中指定多个参数。例如,运行一个名为 1.pl的脚本,其第一行如下所示:
#!/usr/bin/env -S perl -w -T ...
将会运行 perl -w -T 1.pl .
如果不加 '-S' 参数,脚本可能运行失败并输出以下错误:
/usr/bin/env: 'perl -w -T': 没有那个文件或目录
请阅读完整文档以了解更多细节。
--default-signal[=信号] 的用法¶
该选项可以将一个信号的处理方式设置为其默认行为,这是传统的 shell trap 命令无法实现的。下面的粒子确保 seq 能被 SIGPIPE 信号所终止,无论该信号在被调用的命令的进程中是如何被处理的。
sh -c 'env --default-signal=PIPE seq inf | head -n1'
注意¶
POSIX 的 exec(2p) 手册页有以下内容:
作者¶
由 Richard Mlynarik、David MacKenzie 和 Assaf Gordon 编写。
报告错误¶
GNU coreutils 的在线帮助:
<https://www.gnu.org/software/coreutils/>
请向 <https://translationproject.org/team/zh_CN.html>
报告翻译错误。
版权¶
Copyright © 2022 Free Software Foundation, Inc. License
GPLv3+: GNU GPL version 3 or later
<https://gnu.org/licenses/gpl.html>.
本软件是自由软件:您可以自由修改和重新发布它。在法律允许的范围内,不提供任何保证。
参见¶
sigaction(2), sigprocmask(2), signal(7)
完整文档请见:
<https://www.gnu.org/software/coreutils/env>
或者在本地使用: info
'(coreutils) env invocation'
跋¶
本页面中文版由中文
man 手册页计划提供。
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh
2022年9月 | GNU coreutils 9.1 |