Bash

重定向失敗

  • February 27, 2017

我編寫了一個將 PulseAudio 與Snapserver集成的腳本。我有一個我無法擺脫的錯誤。它在這一行(目前在原始碼中的第 183 行):

snapserver -s pipe:///tmp/snapfifo?name=Radio&mode=read 1>/dev/null 2>/dev/null

它將 Snapserver 作為使用者守護程序啟動。問題是儘管重定向,它仍會繼續登錄到終端。我不知道這是怎麼可能的,我想阻止它。

當它的終端關閉時,該程序成為一個分離的程序,所以我一直在考慮如果可能的話已經開始它分離。類似的東西bash --notty。據我檢查,Snapserver 本身沒有任何用於記錄重定向的選項。

在 Bash 中是否有類似的選項?噓?為什麼重定向無論如何都會失敗?

核心問題似乎是&在“Radio”之後和“mode”之前的 URL 中。它結束 snapserver 命令並開始一個新命令(輸出被重定向的變數賦值),而 snapserver 輸出不被重定向。

根據您的評論,修改後的命令是:

snapserver -s 'pipe:///tmp/snapfifo?name=Radio&mode=read' &>/dev/null & 

引用自:https://unix.stackexchange.com/questions/347726