Se posso anche io consigliare delle cose:
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
puoi farlo diventare semplicemente:
if [ $UID ]
then
echo "non hai permessi" # && gksudo per chiedere direttamente la psw
else
echo "ok"
fi
le $STRING o le definisci all'inizio, oppure è inutile che le dichiari e le stampi, è fatica sprecata!
sudo dpkg --configure -a && sudo apt-get install -f && sudo apt-get update
qui, penso che tu voglia che se nel caso dpkg esca con un errore, forzare (-f install) la risoluzione delle dipendenze e poi fare un update... scritto contorto ma può tornare utile... Quindi non è detto che dpkg dia errore in primis, quindi si eseguirebbero operazioni inutili... la soluzione potrebbe essere:
sudo dpkg --configure -a
if [ $? -eq 0 ]
then
echo "fatto"
else
sudo apt-get update && sudo apt-get -f install
fi
come suggerito ci sono troppi echo, infatti poi devi ripulire tutto con un clear... alla peggio cicla e stampa una riga vuota, ma sarebbe il rave dell'entropia =) ne bastano 1 o 2 per tenere ordinato le cose, e poi dormi un pò troppo =) nel senso che ci sono troppi sleep...
il apt-get update && apt-get upgrade && apt-get dist-upgrade -y
perchè concatenarli? in caso di errore che fare? ogni comando sulla sua riga con la sua gestione degli errori!!
Mi son preso un pò di tempo per questa
find $backbox/ -maxdepth 5 -type d -name ".svn" -type d -ls -exec svn update {}/.. \;
perchè non cercare direttamente in opt e usr che è dove risiedono gli .svn che servono? in più continua a cercare di aggiornare tutte le corrispondenze anche se sono state appena aggiornate, quindi forse prima sarebbe utile controllare che siano già aggiornati e nel caso aggiornarli, potresti anche qui ciclare, un while/until o un for come ti viene meglio, anche se secondo me, visto che non sono millemila svn, scriverei direttamente il percorso, o al limite, far leggere da un file .txt i percorsi, in modo che in futuro, si possano aggiungere i percorsi da aggiornare direttamente sul file...
Per comodità , potresti fare:
find / -maxdepth 5 -type d -name ".svn" >> svn.txt
così ti accorgi dove vai a pescare, e da qui ragioni su come meglio procedere....
Spero di esserti stato utile!
Bella!!
« Last Edit: March 23, 2012, 04:49:37 PM by weVeg »
una voce libera è sempre liberatrice
under_r00t