Shell-Script
使用 Gnuplot 繪製多個文件的 Bash 腳本
我想繪製幾個文件,只是執行一個呼叫 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/script
shell 腳本一樣。(見https://stackoverflow.com/q/15234086/10622916)