私はコマンドがエラーなしで実行された場合、失敗した場合に成功と失敗を出力する必要がある場合のために、コマンドを条件文として書きたいと考えました。 私は、コマンドの長いコンソールメッセージを表示しないようにしようとしています。 以下は、私が使用しているコードです。これは、印刷の成功や失敗のメッセージなどの条件文がなくても完全に動作しています。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