名稱
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
- 顯示版本資訊並退出
選項
-S/--split-string 在指令碼中的用法
-S 選項可以在指令碼中指定多個引數。例如,執行一個名為 1.pl的指令碼,其第一行如下所示:#!/usr/bin/env -S perl -w -T ...
/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/>版權
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>跋
本頁面中文版由中文 man 手冊頁計劃提供。2022年9月 | GNU coreutils 9.1 |