Coloque bash $each
e mv $each $each.bak
em um bloco else
:
(cd /opt/trunk/mythos/medusa/remote-scripts/ && wget -r --no-parent --reject "index.html*" http://server/medusa/scripts/)
chmod +x /opt/trunk/mythos/medusa/remote-scripts/server/medusa/scripts/*.sh
for each in /opt/trunk/mythos/medusa/remote-scripts/server/medusa/scripts/*.sh
do
if /usr/bin/test -e "$each.bak"
then
rm -rf "/opt/trunk/mythos/medusa/remote-scripts/server/medusa/scripts/$each"
else
bash "$each"
mv "$each" "$each.bak"
fi
done
Dessa forma, o script atual será executado e movido apenas se /usr/bin/test -e "$each.bak"
falhar (ou seja, o script atual não tiver sido executado e movido anteriormente).
Eu citei todas as variáveis com aspas duplas para evitar que eles quebrassem os comandos caso eles acabassem contendo caracteres / strings estranhos.