[PLUTO-help] Creazione di un'array con il contenuto di ls

Gian Uberto Lauri GianUberto.Lauri a eng.it
Mer 19 Gen 2005 18:51:05 CET


>>>>> "CM" == Claudio Molaro <claudio.molaro a virgilio.it> writes:

CM> Vorrei creare uno script e mi serve il contenuto di una directory.
CM> La mia idea ,bh(B quella di creare un'array con il comando ls.

CM> Penso che si facci,b`(B cos,bl(B:
CM> declare - a A
CM> A=(ls -l --time-style=+'%d-%m-%y' $NAMEDIR)

CM> Non riesco a capire perch,bh(B non funzioni

Questo genera un array di 4 elementi

ls 
-l 
--time-style=+'%d-%m-%y' 
$NAMEDIR

vero ?

Non hai messo il comando ls tra backquote ``

Comunque rimane un difetto.

Il secondo ,Ah che la shell, quando prende questo output per valorizzare
gli  elementi dell'array  usa il  blank  per separare  i vari  valori,
quindi ti spezza una riga in vari elementi dell'array.

Se vuoi una riga per volta usa qualcosa di simile a questo:

declare -a b; 
i=0; 
ls -l | while read a;  
do 
   b[$i]=$a; 
   echo ${b[$i]}; 
   i=$(($i+1)); 
done

Forse c',Ah anche  il modo di dire alla shell di  separare i valori solo
con  i  newline,  ma  sinceramente  non  me lo  ricordo  e  a  naso  ,Ah
"considered harmful".

-- 
 /\            ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
  //--\ | | \|  |   Integralista GNUslamico  
\/		    e coltivatore diretto di software



More information about the pluto-help mailing list