相當於 Windows shell 中的 (foo &>/dev/null &)

相當於 Windows shell 中的 (foo &>/dev/null &)

我想從命令列運行特定的應用程式(我們稱之為foo),但我不希望它阻止終端,將任何垃圾從其輸出或錯誤流放入終端,並且還希望它保留即使我關閉所述終端也在運行。在 Bash 中,我可以使用 來做到這一點(foo &>/dev/null &),但我不知道如何在 Windows shell 中做到這一點。有人可以幫我嗎?

答案1

在 Windows 中執行此操作的方法是:

start /B foo > NUL 2>&1

start命令將啟動一個獨立的進程,與&.如果您正在執行的程式是控制台應用程式,則該/B選項會阻止開啟新的終端視窗(對於 GUI 應用程式來說這是不必要的)。與 Linux 中的start意義>相同,NUL是 Windows 中的/dev/null.2>&1的在結尾將 stderr 重定向到 stdout,這將全部轉到NUL.

答案2

沒有直接的等價物。

如上所述這裡start,可以使用該命令並使用該選項以不阻塞呼叫者的方式呼叫程式/b。不過,不知道這種情況下的輸出重定向。您可能必須將其包裝在批次檔中。

至於> /dev/null,很簡單:>NULNUL是 DOS 設備名稱。但是,速記運算符不可用。您必須採用手動方式2>&1這裡有關於此的更多資訊。

相關內容