Как вызывать gnuplot для разных скриптов независимо

Как вызывать gnuplot для разных скриптов независимо

Я использую GNUplot для создания фигур из точек данных, GNUplot работает с простыми скриптами, которые содержат простые параметры/переменные, такие как диапазон осей x или y, настройки цветов линий и тому подобное. Когда я вызываю один из этих скриптов, например:

gnuplot script1.gpl

работает нормально, но когда я запускаю

gnuplot *.gpl

чтобы запустить его для всех файлов в текущем каталоге, у меня возникли проблемы, потому что некоторые настройки переносятся из одного скрипта в другой. Вероятно, это происходит из-за того, что gnuplot не сбрасывает параметры, и если я не перезаписываю их явно в следующем скрипте, настройки остаются там. Вот почему я попробовал запустить его по-другому, используя find:

find . -name '*.gpl' -exec gnuplot {} \;

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

решение1

Я бы ожидал, findчто все будет работать как один вызов. Если не создаются промежуточные файлы, я бы предложил добавить префикс bash (или другой оболочки), чтобы заставить его запуститься в подоболочке. Или вы можете попробовать следующее:

for i in *.gpl
do 
  ( gnuplot "$i" )
done

Скобки потребуют создания подоболочки, но я не думаю, что это обязательно.

Связанный контент