나는 명령이 어떤 오류없이 실행될 때, 즉 실패한 경우 성공과 실패를 인쇄해야하는 경우에 대한 조건문으로 명령을 쓰려고했다. 명령의 긴 콘솔 메시지를 인쇄하지 못하게하려고합니다. 아래 코드는 인쇄 성공 또는 실패 메시지와 같은 조건문없이 완벽하게 작동하는 코드입니다.if 문과 같은 조건에서 명령을 작성하는 방법은 무엇입니까?
$(BASENAME).pdf: $(BASENAME).ps
ps2pdf $(BASENAME).ps $(BASENAME).pdf
$(BASENAME).ps: $(BASENAME).dvi
dvips -Ppdf $(BASENAME).dvi -o $(BASENAME).ps
나는, 내 실행을 실패
$(BASENAME).pdf: $(BASENAME).ps
@out=ps2pdf $(BASENAME).ps $(BASENAME).pdf > /dev/null 2>&1 && echo " 5. ps2pdf successful" || echo " 5. ps2pdf failed"
$(BASENAME).ps: $(BASENAME).dvi
dvips -Ppdf $(BASENAME).dvi -o $(BASENAME).ps > /dev/null 2>&1\
if [ $? -eq 0 ];\
then \
echo " 4. dvips successful";\
else \
echo " 4. dvips failed";\
exit 2;\
fi
위와 같이 변경하고 심지어 세미콜론으로 업데이트 한 후 오류
dvips -Ppdf basename_04.dvi -o basename_04.ps \
if [ basename_04.dvi -eq 0 ];\
then \
echo " 4. dvips successful";\
else \
echo " 4. dvips failed";\
exit 2;\
fi
/bin/sh: -c: line 2: syntax error near unexpected token `then'
/bin/sh: -c: line 2: ` then \'
make: *** [basename_04.ps] Error 1
아래와 같은 코드를 실행하는 동안 나에게 오류를 제공하는 시도 아래 오류가 발생합니다.
dvips -Ppdf nkukunur_04.dvi -o nkukunur_04.ps > /dev/null 2>&1 ;\
if [ nkukunur_04.dvi -eq 0 ]; \
then \
echo " 4. dvips successful"; \
else \
echo " 4. dvips failed"; \
exit 2; \
fi
/bin/sh: line 1: [: nkukunur_04.dvi: integer expression expected
4. dvips failed
문제 해결에 도움주세요.
오류를 수정 한 후에도 질문에 업데이트 된 오류가 발생합니다. – Venkat
업데이트 된 질문을 본 후 답변을 업데이트했습니다. –
오류가 발생하면 dvips를 인쇄하는 데 실패했습니다. 이제는 완벽하게 작동합니다. 그러나 출구 2; 다음 규칙의 실행을 중단하거나 종료하지 않습니다. 그면에서 나를 도우십시오. – Venkat