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 |