Resposta explícita
O pacote moreutils
fornece a ferramenta ifne
. Normalmente, ele executa o comando fornecido se e somente se a entrada padrão não estiver vazia. Tem, no entanto, um modo operação reversa :
-n
Reverse operation. Run the command if the standard input is empty.
Note that if the standard input is not empty, it is passed through
ifne
in this case.
Então a solução é:
fstdraw in.fst | ifne -n cat dummy.txt | dot -Tpng | convert - -rotate 90 out.png
Abordagem alternativa
Isso foi postado originalmente como um comentário. O objetivo é detectar quando convert
falha e age de acordo. O método não responde à pergunta explícita, mas pode resolver seu problema específico. Estou postando aqui para fins educacionais.
fstdraw in.fst | dot -Tpng | convert - -rotate 90 out.png || cp dummy.png out.png