[Primipassi] SH
Francesco Poli
frx@firenze.linux.it
Mar 4 Giu 2002 01:01:51 CEST
On 2002.06.03 21:56:57 +0200 HDD wrote:
> ciao Francesco i file mi sono arrivati tutti e 2....ma non capisco
> come
> mai non riesco a vedere i miei post.....grazie cmq...!
Questo e` un vero mistero...
Confronta con l'archivio della mailing list per vedere esattamente quali
messaggi non hai ricevuto (tutti gli altri messaggi li ricevi?)...
[...]
> e qui sta il problema ....quando lista i file , sono presenti TUTTI ma
> al secondo giro del for....sono gia' stati spostati e la dir gia'
> esiste
> e quindi mi da un errore per ogni file che non trova.....non che non
> vada....solo che mi fa "sporco" e sicuramente lo rallenta.
Prova a sostituire
> #crea la directory
> mkdir $dirname
Con
#crea la directory, se non esiste gia`
test -d $dirname || mkdir $dirname
Almeno la shell si astiene da chiedere a mkdir di creare una directory
gia` esistente.
Rimane comunque un problema: se esiste gia` un file di nome $dirname, ma
questo *non* e` una directory, succede un disastro (il file puo` essere
sovrascritto da tutti i file che dovrebbero finire nella directory
$dirname: in pratica di tutti questi file sopravvive solo l'ultimo!).
Per rendere piu` robusto il tutto e` opportuno anteporre un ulteriore
test:
#controlla che non esista gia` un file (non directory) di nome $dirname
if test -e $dirname && test ! -d $dirname
then
echo 'warning: '$dirname' already exists!'
else
#crea la directory, se non esiste gia`
test -d $dirname || mkdir $dirname
#muove i file dentro la directory
mv $1"/"$s $dirname
fi
Tra l'altro l'uso della variabile di ciclo $s ti dovrebbe eliminare
anche i messaggi di errore "no such file or directory" generati da mv.
Ciao e verifica bene il funzionamento di queste modifiche che ti ho
proposto... sono stanco e non garantisco nulla: se qualcuno e` convinto
che ho detto delle boiate, e` possibile... correggetemi! ;-)
--
Francesco Poli <frx@firenze.linux.it>
===================================================
"May the Source be with you!" -- Eric S. Raymond
Maggiori informazioni sulla lista
primipassi