![서로 다른 스크립트에 대해 gnuplot을 독립적으로 호출하는 방법](https://rvso.com/image/97247/%EC%84%9C%EB%A1%9C%20%EB%8B%A4%EB%A5%B8%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%20%EB%8C%80%ED%95%B4%20gnuplot%EC%9D%84%20%EB%8F%85%EB%A6%BD%EC%A0%81%EC%9C%BC%EB%A1%9C%20%ED%98%B8%EC%B6%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
저는 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
괄호는 하위 쉘을 강제로 사용하지만 필수는 아니라고 생각합니다.