[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: