linux user group brescia

immagine del castello

Archivio della mailing list

[LugBS] domanda stupida su bash

Rampage * atomikramp a gmail.com
Gio 2 Dic 2010 08:06:43 UTC
2010/12/1 Andrea Gelmini <andrea.gelmini a lugbs.linux.it>

> Il 01 dicembre 2010 20:52, Rampage * <atomikramp a gmail.com> ha scritto:
> > du -sh /directory/acaso/* | mail -s "ciccio" indirizzo a email.tld
> >
> > non va, mi dice che il parametro * non è valido... ma che caxx....
>
> Riporta l'errore intero, diversamente bisogna andare ad intuito.
> Due cose:
> a) chiaramente se vuoi il totale della directory acaso, non ti serve
> l'asterisco finale (anzi, eviti che il globbing della shell possa
> darti noie);
> b) se invece vuoi davvero le singole entry nella dir acaso tieni
> presente quando segue:
>
> gelma a vaio:/tmp/test$ touch -- -f
> gelma a vaio:/tmp/test$ ls -la
> totale 0
> drwxr-xr-x  2 gelma gelma   60 2010-12-01 21:00 ./
> drwxrwxrwt 25 root  root  1200 2010-12-01 21:00 ../
> -rw-r--r--  1 gelma gelma    0 2010-12-01 21:00 -f
> gelma a vaio:/tmp/test$ du -sh *
> du: opzione non valida -- "f"
> Usare `du --help' per ulteriori informazioni.
> gelma a vaio:/tmp/test$ du -sh -- *
> 0       -f
>
> c) sempre tenendo valida la prima ipotesi, sarebbe meglio scrivere il
> lo script così (in modo tale da avere la garanzia che l'affare
> funzioni a prescindere dal contenuto/quantita' della directory):
> find /tmp/test -maxdepth 1 -type d -exec du -sh {} \; | mail ecc
>
> Ciao,
> gelma
>
> --
>

Ciao Gelma,
grazie delle dritte.

il mio caso è questo, e anche qui mi dirai che sono nab e che non si fa
così, e io annuirò perchè effettivamente non credo sia quella corretta

#!/bin/sh

BASEDIR=/var/utenti
DOMINI=$(ls $BASEDIR)

for A in $DOMINI;
do
echo "===== $(basename $A) =====";
cd $BASEDIR/$A
for B in $(ls);
do
du -sh $B;
done
done

questo scriptino sciocco (formattato benissimo per altro grazie alla
webmail)

mi tira fuori la dimensione di tutte le directory in /var/utenti/xx/yy
quindi se per ogni directory xx ci sono un numero arbitrario e variabile di
directory yy lui mi da le dimensioni di tutte le yy suddivise per xx.

il problema è che se io faccio
# ./scriptinosciocco.sh | mail -s "prova" ciccio a prova.mail

non va, la mail arriva noin ritornano errori, ma il body è vuoto.

suggestions?
in STDOUT l'output viene proposto correttamente.

Grazie
Francesco
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lugbs.linux.it/pipermail/lug/attachments/20101202/030c02b9/attachment.html>


Maggiori informazioni sulla lista Lug