Merkwuerdiges Verhalten eines bash-scripts
Hallo Gemeinde,
ich bin ein wenig ratlos. In einem bash-Script frage ich per $? den
jeweiligen Error-Code der vorherigen Aktion ab und reagiere dann
entsprechend. Klappt soweit auch ganz gut, nur beim Kommando cp
scheiont da der Wurm drin zu sein.
Folgender Auszug aus dem Script:
cp /home/builds/projects/versionsSSS.xml \
/var/www/lhcs-cvs-builds/ >>
/home/builds/projects/build-logs/build-${now}.log 2>&1
if [ $? -eq 0 ]
then
rm -rf /var/www/lhcs-cvs-builds/Rex/stable/* \
else
echo "Error copying versions.xml \
build failed!" >>
/home/builds/projects/build-logs/build-${now}.log 2>&1
let ERROR_CNT++
fi
fi
(ein klein wenig zusammen gekuerzt)
wenn ich das ganze per bash -x starte, kommt folgende Ausgabe:
+ cp /home/builds/projects/versionsSSS.xml
/var/www/lhcs-cvs-builds/versionsSSS.xml
cp: cannot stat `/home/builds/projects/versionsSSS.xml': No such file
or directory
+ '[' 0 -eq 0 ']'
^^^^^^^^^^^^^^^^
Also hier haette ich eigentlich ein
+ '[' 1 -eq 0 ']'
erwartet, aber nein, der fehlerhafte cp setzt mir keinen Return-Code nach $?
Kann es evtl. damit zusammenhaengen, dass ich in dem Script vorher
bereits mehrmals kopiert habe (per cp) und diese Copies sauber
durchgelaufen sind?
Wenn ich ein Mini-Script bastel, in dem lediglich
cp /irgendwas-was-nicht-da-ist /home
echo $?
steht, gibt das Script richtigerweise eine 1 zureck.
Etwas ratlos....
Gregor
--
what's puzzlin' you, is the nature of my game
gpgp-fp: 79A84FA526807026795E4209D3B3FE028B3170B2
gpgp-key available @ http://pgpkeys.pca.dfn.de:11371
Reply to: