2016-01-01 2 views
1

У меня есть этот Баш скрипт:данных переходят к GNUPLOT

#!/bin/bash 

foo=42 
./test.gp 

И это Gnuplot скрипт (test.gp):

#!/usr/bin/gnuplot 

set grid 
set title "This is the title (`echo $foo`)" 

set terminal png large 
set output "/tmp/test.png" 
set samples 50, 50 
plot [-10:10] sin(x) 

Я заставил поверить, что это должно отображать название как This is the title (42). Но это не так. Полученное изображение выглядит следующим образом: Resulting plot Также я хочу

plot [-10:10] sin(x + `echo $foo`) 

Но это приводит к ошибке:

plot [-10:10] sin(x+) 
        ^
"./test.gp", line 9: invalid expression 

Я использую Gnuplot 4.6.

РЕДАКТИРОВАТЬ: переместить решение, чтобы отделить ответ в соответствии с запросом в комментариях.

+0

См. Http://stackoverflow.com/q/12328603/2604213 для нескольких возможностей. – Christoph

+0

Вы пытались поставить 'export foo = 42' в свой скрипт bash? Также 'foo = 42./Test.gp' отлично работает. И решение, данное в отредактированном вопросе, также приводится в двух экземплярах. – Christoph

+0

@ Кристоф Ммм. Вероятно, пропустил это. Благодаря! – Mausy5043

ответ

0

Я пробовал предлагаемые предложения here, но они, похоже, не работали для меня. (Хотя мне сообщили, что упомянутое ниже решение действительно упоминается там).

Я обнаружил, что изменение сценария:

#!/bin/bash 


foo=42 
gnuplot -e "foo='${foo}'" ./test.gp 

работает лучше. Также скрипт GNUPLOT становится более читаемым:

#!/usr/bin/gnuplot 

set grid 
set title "This is the title (".foo.")" 

set terminal png large 
set output "/tmp/test.png" 
set samples 50, 50 
plot [-10:10] sin(x + foo) 
Смежные вопросы