Ausgabe 2 mal weitergeben

Hi,

In einem c++-Programm gibt es den Aufruf (öffnet zuvor eine Shell um einen Linux-Befehl abzuarbeiten), der in etwa so aussieht:

Code:
echo "Hallo Welt" > ausgabe.dat

Diese Umleitung der Ausgabe darf nicht verändert werden, die Ausgabe in ausgabe.dat soll jedoch wiederum weitergeleitet werden, z.B. so:

Code:
echo "Hallo Welt" > ausgabe.dat > ausgabe2.dat

Problem dabei nun: ausgabe.dat ist danach leer - darf es aber nicht sein! - und in ausgabe2.dat stehen alle übergebenen Daten. Das Programm benötigt die Daten in ausgabe.dat und ausgabe2.dat.

Weitere nicht funktionierende Möglichkeiten:

Code:
echo "Hallo Welt" > ausgabe.dat &> ausgabe2.dat
echo "Hallo Welt" > ausgabe.dat 2> ausgabe2.dat

Weitere Regeln: es darf nur eine Shell und ein einziger Prozess benutzt werden (eine && Verknüpfung geht daher nicht). Auch ein Bash-Script ist nicht die Lösung :D

Kennt jemand eine Lösung? :D

MfG
Z.
 
Eine brauchbare Shell verwenden (Nein; die Bash gehoert nicht dazu).
Code:
[dope@painless:~/tmp]% echo "Hallo Welt" > ausgabe.dat > ausgabe2.dat
[dope@painless:~/tmp]% cat ausgabe.dat 
Hallo Welt
[dope@painless:~/tmp]% cat ausgabe2.dat
Hallo Welt
[dope@painless:~/tmp]% echo $ZVERSION                                
zsh 4.2.4
[dope@painless:~/tmp]%
 
Rein aus Interesse:
Wenn Du irgendwas in c++ machst wozu willst du dann die "umwege" über eine shell gehen?
 
Berechtigte Frage :) Es geht dabei um ein Kommando eines Programms welches auf einem Server einen lokalen Befehl ausführt, sowas wie exec() bei php, nur etwas sicherer ;)

Und wie man an den Antworten sieht gibt es viele Wege die nach Rom führen :) Danke allen.
 
Zurück
Oben