Shell-Script

使用 Gnuplot 繪製多個文件的 Bash 腳本

  • July 26, 2022

我想繪製幾個文件,只是執行一個呼叫 Gnuplot 的 bash 腳本。我對可能的 bash 腳本的想法是:

#!/bin/bash
gnuplot
plot 'my_first_file.dat' u 1:2
replot 'my_second_file.dat' u  1:2

讓我們稱之為 bash 腳本gnuplot_script.sh

當我通過執行此腳本時,$./gnuplot_script.sh 我只會在終端中打開 gnuplot,而沒有與腳本相關的繪圖。

為了繪製我的數據,我應該在腳本中修改什麼?這是我第一次接觸 bash 腳本。

我假設線條

plot 'my_first_file.dat' u 1:2
replot 'my_second_file.dat' u  1:2

正如您在腳本中嘗試的那樣,指定命令的輸入不起作用。

您可以將這些作為輸入傳遞gnuplot給“此處文件”。

外殼腳本:

#!/bin/bash
gnuplot << EOF
plot 'my_first_file.dat' u 1:2
replot 'my_second_file.dat' u  1:2
EOF

或者,您可以將命令寫入gnuplot單獨的文件,並將文件名作為命令行參數傳遞給gnuplot,例如gnuplot file.plot. (該文件不需要命名.plot。)

您還可以創建一個由 shell 解釋的腳本,gnuplot而不是 shell。

#!/usr/bin/env gnuplot
plot 'my_first_file.dat' u 1:2
replot 'my_second_file.dat' u  1:2

使該腳本可執行並通過鍵入其名稱來執行它,就像./script執行/path/to/scriptshell 腳本一樣。(見https://stackoverflow.com/q/15234086/10622916

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