PDA

View Full Version : Script Bash: HELP!!


dibe
09-02-2006, 21:47
ciao,

devo realizzare questo esercizio utilizzando la shell bash:


Si realizzi lo script bash dcomp che confronta il contenuto di due directory
passate come parametri e "restituisce valore vero" nel caso abbiano
gli stessi file. Per stabilire se tale condizione è verificata bisogna
controllare che i file con lo stesso nome siano eguali nel caso
si confrontino file di testo, oppure abbiano la stessa data di
ultima modifica negli altri casi. Inoltre, se sono presenti sotto
-directory queste devono avere lo stesso contenuto.

Pertanto, la sintassi del comando da implementare è la
seguente
dcomp dir1 dir2


purtroppo sono rimasto impantanato dopo il controllo dell'esistenza della directory, non saprei come andare avanti... :muro:

avete qualche idea?? :stordita:

grazie..

dibe
10-02-2006, 11:19
:cry: :cry: :cry:

dibe
10-02-2006, 17:14
vi posto il codice del programma che ho fatto fin'ora:


#bin/bash

case $# in
0) echo 'uso: dcomp dir1 dir2'
exit 2;;
esac

if [ -d $1 ]
then
echo 'ok - dir valida'
else
echo 'no - dir non valida'
fi

if [ -d $2 ]
then
echo 'ok - dir valida'
else
echo 'no - dir non valida'
fi

ricercafile=' find $1/* -printf " %p \n " '
declare -a dirfile
count=0
for conffile in ricercafile
do
dirfile[$count]=$conffile
(( count++ ))
numfile=$count
done

ripete sopra per $2, con parametri dirfile2, ricercafile2, numfile2.

count=1
while [ $count -le $numfile ]; do
if [${dirfile[numfile]} != ${dirfile2[numfile2]} ]
then
echo 'diverse'
exit 1
else
echo 'uguali'
fi
done
exit 0


vorrei almeno riuscire a controllare se l'array dei file della prima dir è uguale a quello della dir 2, in questo modo dico se sono uguali le cartelle (GIUSTO??????) anche se manca tutto il resto del controllo sul tipo file.

per quello penso dovrei fare degli if annidati nel while che controllano che tipo di file è, se di testo controlla i nomi uguali, se non è di testo controlla la modifica.. FORSE -.- :muro: