2014-11-05 2 views
2

Мне нужно запустить скрипты gnuplot на разных устройствах. Структура файлов на устройствах одинакова, как только я попаду в конкретный каталог, но пути к этим каталогам разные. Я думаю, что мне нужно иметь переменную в имени пути, которую я могу изменить в зависимости от того, на каком устройстве я нахожусь.gnuplot с переменной в пути к файлу

Я думал, что следующее будет работать, because I found something similar here, но это не делает:

path_to_directory="/desktop/path/to/directory" 
# path_to_directory="laptop/path/to/directory" 
# the line above is commented out but it can be included 
# if I want to switch from my desktop to my laptop 
path_to_file="$path_to_directory/path/to/file" 
plot path_to_file ... 

предупреждающее сообщение говорит: Пропуск нечитаемого файл "$ path_to_directory/путь/к/файлу"

ли вы, знаете, как я могу включить переменную в путь скрипта gnuplot, чтобы я мог легко переключаться между путями?

спасибо.

ответ

3

В gnuplot вы не используете $, чтобы указать переменные, как в bash. Вы бы сделать операцию конкатенации с точкой:

path_to_directory="/desktop/path/to/directory" 
path_to_file=path_to_directory."/path/to/file" 
3

Вам просто нужно объединить две строковые переменные с . оператором:

path_to_directory = "/desktop/path/to/directory" 
path_to_file = path_to_directory . "/path/to/file" 
plot path_to_file ... 

Вы также можете определить путь по умолчанию, который может быть преодолен:

default_path_to_directory = "/desktop/path/to/directory" 
if (!exists("path_to_directory")) path_to_directory = default_path_to_directory 

path_to_file = path_to_directory . "/path/to/file" 
plot path_to_file ... 

Теперь вы можете переопределить path_to_directory, но не должен: например, при вызове gnuplot, например gnuplot -e "path_to_directory='...'" script.gp или с конфигурационным файлом.