A questão principal é um documento malformado aqui: ele precisa se parecer com
gnuplot << EOF
commands
EOF
Além disso, se você quiser que seus gráficos persistam na tela (usando o tipo de terminal padrão do gnuplot), então você provavelmente desejará adicionar a opção -p
(persistent).
Eu não reconheço a sintaxe $($xcolumn):$($ycolumn)
que você usou: Eu suspeito que isso seja apenas $xcolumn:$ycolumn
Por fim, suspeito que você provavelmente queira um shell glob mais parecido com *.csv
than "example.csv"*
.
Então:
for FILE in *.csv; do
gnuplot -p << EOF
set datafile separator ","
set xlabel "xlabel"
set ylabel "ylabel"
set title "graphTitle"
plot "$FILE" using $xcolumn:$ycolumn
EOF
done
Seu script também deve ter uma declaração adequada no início, por exemplo, #!/bin/bash
ou #!/bin/sh