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