[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