2016-11-15 44 views

回答

2

您可以從您的gnuplot腳本中完全刪除set output。然後將輸出寫入stdout,然後你就可以重定向:

gnuplot -e "set terminal pngcairo; plot sin(x)" >&2 
+0

這已經很接近,但它也寫入所有的警告和錯誤信息到文件描述符。例如,當'pngcairo'找不到字體時,所產生的警告也會在圖像數據中結束。 – ManuelAtWork

+0

你使用哪個外殼?在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

+0

所有終端是否會將其消息寫入'stderr'? (是否有一個Gnuplot標準,它說所有的終端都必須將他們的消息寫入'stderr'?) – ManuelAtWork

相關問題