Explizite Antwort
Das Paket moreutils
enthält ein ifne
Werkzeug. Normalerweise wird der angegebene Befehl nur dann ausgeführt, wenn die Standardeingabe nicht leer ist. Es hat jedoch einen umgekehrten Betriebsmodus :
-n
Umkehrbetrieb. Führen Sie den Befehl aus, wenn die Standardeingabe leer ist.
Wenn die Standardeingabe nicht leer ist, wird sie
ifne
in diesem Fall durchgereicht .
Die Lösung lautet also:
fstdraw in.fst | ifne -n cat dummy.txt | dot -Tpng | convert - -rotate 90 out.png
Alternativer Ansatz
Dies wurde ursprünglich als Kommentar gepostet. Es geht darum, zu erkennen, wann ein convert
Fehler auftritt, und entsprechend zu handeln. Die Methode beantwortet die explizite Frage nicht, kann jedoch Ihr spezifisches Problem lösen. Ich poste es hier zu Bildungszwecken.
fstdraw in.fst | dot -Tpng | convert - -rotate 90 out.png || cp dummy.png out.png