env [选项]... [-] [名称=值]... [命令 [参数列表]...]
-S 选项可以在脚本中指定多个参数。例如,运行一个名为 1.pl的脚本,其第一行如下所示:
#!/usr/bin/env -S perl -w -T
...
将会运行 perl -w -T 1.pl .
如果不加 '-S' 参数,脚本可能运行失败并输出以下错误:
/usr/bin/env: 'perl -w -T': 没有那个文件或目录
请阅读完整文档以了解更多细节。
该选项可以将一个信号的处理方式设置为其默认行为,这是传统的 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>.
本软件是自由软件:您可以自由修改和重新发布它。在法律允许的范围内,不提供任何保证。
本页面中文版由中文 man 手册页计划提供。
中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh