On Don, 30 Aug 2001, Sven Pfeifer wrote:
--8<-- if [ -f ${PIDFILE} ] ; then echo "ERROR: unalbe to start `basename ${0}`. already running!" exit 1 else echo $$ > ${PIDFILE} fi -->8--
aufruf des scriptes folgendermassen:
/home/user/bin/script1.sh >> //home/user/log/script1.log 2>&1
Meine Frage nun: Kann ich die Ausgabe der beiden Zeilen mit echo ... auf die Konsole umleiten und die restliche Ausgabe des Scriptes in obiges Logfile?
Ja klar. Du willst also Fehler auf die Konsole und den Rest ins log? Dann musst du die Fehler einfach auf stderr ausgeben (fd 2). ==== if [ -f ${PIDFILE} ] ; then echo "ERROR: unable to start `basename ${0}`. already running!" >&2 exit 1 ## ^^^[2] else echo $$ | tee ${PIDFILE} >&2 fi ## ^^^[1] ^^^[2] ==== [1] Ein "T-Stueck" spaltet stdin (die Ausgabe von echo) auf und leitet einen "Strang" in ${PIDFILE}, der andere "wandert" auf stdin weiter... [2] ... und dieses wird auf stderr umgebogen... /home/user/bin/script1.sh >> /home/use/log/script1.log -dnh -- Wußten Sie schon, daß eine Holzhammernarkose total ueberfluessig ist, weil ein Holzhammer gar nichts spuert, wenn man mit ihm zuschlaegt...?