Man page - env(1)

Packages contains this manual

Available languages:

en fr es pl ko nl da tr sv ja ru ro zh_TW zh_CN de

Manual

ENV

名 称
概 述
描 述
选 项
-S/--split-string 在 脚 本 中 的 用 法
--default-signal[=信 号 ] 的 用 法
注 意
作 者
报 告 错 误
版 权
参 见


名 称

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) 手 册 页 有 以 下 内 容 :

"许 多 现 有 的 应 用 程 序 都 错 误 地 假 定 它 们 启 动 时 接 收 信 号 的 行 为 均 为 默 认 值 且 为 非 阻 塞 模 式 。 因 此 , 最 佳 实 践 是 除 非 有 明 确 的 理 由 , 否 则 在 跨 exec 执 行 时 不 要 阻 塞 或 忽 略 信 号 , 尤 其 是 不 要 在 跨 exec 执 行 任 意 的 ( 即 并 非 与 你 的 代 码 紧 密 合 作 的 ) 程 序 时 阻 塞 信 号 。 "

作 者

由 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