如何為不同的腳本獨立呼叫gnuplot

如何為不同的腳本獨立呼叫gnuplot

我正在使用 GNUplot 從資料點建立圖形,GNUplot 使用簡單的腳本,其中包含簡單的參數/變量,例如 x 或 y 軸的範圍、線條顏色的設定等。當我呼叫其中一個腳本時,例如:

gnuplot script1.gpl

它工作正常,但是當我跑步時

gnuplot *.gpl

要對當前目錄中的所有文件運行它,我遇到了問題,因為如果設定從一個腳本傳輸到下一個腳本,則會出現一些問題。這可能是因為 gnuplot 不會重置參數,如果我不在以下腳本中明確覆蓋它們,則設定仍然存在。這就是為什麼我嘗試使用 find 以不同的方式運行它:

find . -name '*.gpl' -exec gnuplot {} \;

但我再次得到同樣有問題的結果。所以我需要的是一個命令,它為每個文件運行相同的命令,但方式就像為每個文件手動調用一樣。

答案1

我希望find按照一次呼叫來工作。如果沒有建立中間文件,我建議添加 bash (或其他 shell)前綴,以強制它在子 shell 中運行。或者您可以嘗試以下操作:

for i in *.gpl
do 
  ( gnuplot "$i" )
done

括號將強制使用子外殼,但我認為不應該需要它。

相關內容