1
隨着的Gnuplot有可能管道輸出到另一進程,例如:如何直接將Gnuplot輸出指向文件描述符(例如管道)?
set output "| cat >&2"
此行重定向積輸出到文件描述符「2」。
但是,在這種情況下,所有輸出數據都會經過cat
。如何將輸出直接發送到我選擇的文件描述符?
隨着的Gnuplot有可能管道輸出到另一進程,例如:如何直接將Gnuplot輸出指向文件描述符(例如管道)?
set output "| cat >&2"
此行重定向積輸出到文件描述符「2」。
但是,在這種情況下,所有輸出數據都會經過cat
。如何將輸出直接發送到我選擇的文件描述符?
您可以從您的gnuplot腳本中完全刪除set output
。然後將輸出寫入stdout
,然後你就可以重定向:
gnuplot -e "set terminal pngcairo; plot sin(x)" >&2
這已經很接近,但它也寫入所有的警告和錯誤信息到文件描述符。例如,當'pngcairo'找不到字體時,所產生的警告也會在圖像數據中結束。 – ManuelAtWork
你使用哪個外殼?在bash中'2'是'stderr',所以這可能是一個問題。這裏,以下工作正常:'gnuplot -e「設置終端pngcairo;繪圖1」> foobar.png'。這給出了一個有效的PNG圖像,警告'Warning:empty y range [1:1],調整爲[0.99:1.01]'被寫入控制檯。你也可以嘗試'gnuplot -e「...」2>/dev/null 1>&3'將'stdout'重定向到文件描述符'3'並刪除'stderr'。 – Christoph
所有終端是否會將其消息寫入'stderr'? (是否有一個Gnuplot標準,它說所有的終端都必須將他們的消息寫入'stderr'?) – ManuelAtWork