Praticamente quello che deve fare e' compilare una web app usando ant, una volta ottenuto il war rinominarlo in max.war, copiarlo sul server di sviluppo nella home dell'utente. Poi nel server di sviluppo, via ssh, copiare la versione corrente dell'applicazione in /tmp appendendoci data e ora far in modo che in /tmp ci siano solo le ultime 3 copie di backup e alla fine copiare la nuova versione dalla home dell'utente alla directory webapps di tomcat. Tutto funziona a parte la roba che ho scritto in grassetto. Eppure se copio incollo lo scriptino sul server (da TOTAL= in poi) funziona perfettamente! Cosa cavolo c'e' che non va??

(per ssh ho scambiato le chiavi quindi la connessione e' password-less)

codice:
#!/bin/bash

#deploy.sh

PROJECT_ROOT=".."
BUILD_XML="./build/build.xml"
WAR_NAME="./umaps-dev.war"
DEST_WAR_NAME="./max.war"
WANTED_BACKUPS=3

cd ${PROJECT_ROOT}

ant -f ${BUILD_XML} clean
ant -f ${BUILD_XML}
rm ${DEST_WAR_NAME} > /dev/null
mv ${WAR_NAME} ${DEST_WAR_NAME}
scp ${DEST_WAR_NAME} user @ server.di.sviluppo:

date=`date "+%Y%m%d-%H.%M"`

ssh user @ server.di.sviluppo "sudo cp /bin/tomcat-6.0.18/webapps/max.war /tmp/max.war.${date}"
ssh user @ server.di.sviluppo "TOTAL=\`ls -l /tmp/max.war.*| wc -l\`;for war in \`ls -l /tmp/max.war.* | head -n \$((\$TOTAL-$WANTED_BACKUPS)) | tail -n \$((\$TOTAL-$WANTED_BACKUPS+1)) | cut -d \" \" -f 8\`; do sudo rm -rf \$war; done"
ssh user @ server.di.sviluppo "sudo cp max.war /bin/tomcat-6.0.18/webapps/."
Gli spazi tra @ e server.di.sviluppo li ho messi per evitare che il forum lo trasformasse in indirizzo email.