"tex file.tex | dvips | ps2pdf"의 올바른 형식은 무엇입니까?

"tex file.tex | dvips | ps2pdf"의 올바른 형식은 무엇입니까?

3개의 명령을 하나로 줄이고 싶은데 오류 메시지가 계속 나타납니다.

tex | dvips | ps2pdf file.tex

아니면 어쩌면

tex file.tex | dvips | ps2pdf

그러면 divps파일이 없다고 뜹니다. 아니면 시도해 볼 수도 있어요

tex file.tex > dvips > ps2pdf

그런 다음 그것을 얻었 file.dvi지만 처리되지 않았습니다 dvips. 이 방법을 추측하는 것은 위험하며 분명히 >and |연산자를 이해하지 못합니다.

세 가지 명령을 모두 실행하는 올바른 방법은 무엇입니까? 이것이 TeX라는 사실은 중요하지 않습니다.

답변1

출력 파일의 이름은 항상 원래 이름이지만 확장자는 변경되므로(명령 스위치로 다른 것을 지정하지 않는 한) 파이프 대신 이 작업을 수행할 수 있습니다.

tex file.tex; dvips file.dvi; ps2pdf file.ps

그러면 명령이 순서대로 실행됩니다. tex 명령에는 처리 결과를 출력할 방법이 없으므로 stdout파이핑에 사용할 수 없다고 생각합니다.

편집하다:

Jeff의 제안에 따르면, 이전 명령이 성공적인 종료 상태(예: 상태 0)를 반환하는 경우에만 나머지 명령이 실행되기 때문에 이것이 더 나은 접근 방식입니다.

tex file.tex && dvips file.dvi && ps2pdf file.ps

관련 정보