Rene Terlecki rene.terlecki@gmx.de (Mi 11 Jul 2018 09:01:18 CEST):
ich habe hier eine kleine Kopfnuss mein Ziel ist, den Output eines Befehls in eine Datei zu schreiben, aber nur wenn er nicht leer ist
Genau das passiert doch. Wenn es keinen Output gibt, wird auch keiner geschrieben.
Du meinst vermutlich, daß das File nicht angelegt werden soll… das hat Dir Rene schon ganz gut beantwortet. Die Shell legt das File an, bevor sie feststellt, ob das Programm überhaupt laufen wird.
Kannst also nur sowas oder ähnliches machen (was vermutlich auf sowas wie das hier skizzierte hinausläuft):
foo > file; test -s file || rm file
-- Heiko