Manpages

名 称

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[=信 号 ] 的 用 法
This option allows setting a signal handler to its default action, which is not possible using the traditional shell trap command. The following example ensures that seq will be terminated by SIGPIPE no matter how this signal is being handled in the process invoking the command.

sh -c ’env --default-signal=PIPE seq inf | head -n1’

注 意

POSIX 的 exec(2) 手 册 页 有 以 下 内 容 :

"many existing applications wrongly assume that they start with certain signals set to the default action and/or unblocked.... Therefore, it is best not to block or ignore signals across execs without explicit reason to do so, and especially not to block signals across execs of arbitrary (not closely cooperating) programs."

作 者

由 Richard Mlynarik、 David MacKenzie 和 Assaf Gordon 编 写 。

报 告 错 误

GNU coreutils 的 在 线 帮 助 : <https://www.gnu.org/software/coreutils/>; 请 向 <https://translationproject.org/team/zh_CN.html>; 报 告 翻 译 错 误 。

版 权

请 向 <https://translationproject.org/team/zh_CN.html>; 报 告 翻 译 错 误 。

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

参 见

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

COMMENTS