 |
Liumberg |
| mi sono appena accorto che non sono il solo ad ave ... |
30-01-2008 07:50 |
|
 |
Liumberg |
nervoso..sempre
Registered: Oct 2002
Posts: 53 (0.01 al dì)
Location: Bregnano -CO-
Corso: laurea triennale informatica
Anno: 3
Time Online: 1 Day, 2:08:00: [...]
Status: Offline
Edit | Report | IP: Logged |
mi sono appena accorto che non sono il solo ad avere questo problema
|
|
30-01-2008 07:50 |
|
|
|  |
 |
mjfan80 |
| infatti, stesso problema, ho provato a sostiruire ... |
30-01-2008 08:42 |
|
 |
mjfan80 |
.consigliere.
Registered: Nov 2001
Posts: 140 (0.02 al dì)
Location: Vallecamonica (BRESCIA)
Corso: Informatica quinquennale
Anno: 5°? 6°? 7°? bho
Time Online: 19:22:16 [...]
Status: Offline
Edit | Report | IP: Logged |
infatti, stesso problema, ho provato a sostiruire i cicli for con i while
loro funzionano... quelli che non devono "restituire" parametri vanno (come quello per aggiungere utenti)
e all'interno del ciclo i calcli funzionano (se vedi io prima con degli echo di controllo li faccio stampare a schermo, se li provi, vedi che alla fine dei cicli while, i valori sarebbero corretti
ma fuori dal ciclo... bhum, scompaiono
__________________
Heal The World
Just Because You Read It In A Magazine Or You See It On A Tv Scren Don't Make It Factual
|
|
30-01-2008 08:42 |
|
|
|  |
 |
plafo |
| anch'io ho lo stesso problema e sto cercando una s ... |
30-01-2008 09:18 |
|
 |
plafo |
.illuminato.
Registered: Nov 2004
Posts: 236 (0.03 al dì)
Location: Milano
Corso: informatica
Anno: terzo
Time Online: 4 Days, 20:03:23 [...]
Status: Offline
Edit | Report | IP: Logged |
anch'io ho lo stesso problema e sto cercando una soluzione! 
|
|
30-01-2008 09:18 |
|
|
|  |
 |
bullet |
| mi aggrego al vostro problema...
... |
30-01-2008 12:40 |
|
 |
bullet |
.fedelissimo.
Registered: Oct 2004
Posts: 44 (0.01 al dì)
Location: busnago
Corso: informatica
Anno: 2
Time Online: 11:13:32 [...]
Status: Offline
Edit | Report | IP: Logged |
mi aggrego al vostro problema...
Non è che bisogna usare in qualche modo particolare expr ??
ovvero : io expr l'ho visto usare :
SUM=$(expr $i+$c)
oppure
SUM='expr $i+$c'
oppure
SUM=[expr ${i}+${c}]
.
.
.
sono modi diversi per fare la stessa cosa oppure hanno un significato preciso??
grazie e ciaooo
|
|
30-01-2008 12:40 |
|
|
|  |
 |
mjfan80 |
| no bullet
... |
30-01-2008 12:50 |
|
 |
mjfan80 |
.consigliere.
Registered: Nov 2001
Posts: 140 (0.02 al dì)
Location: Vallecamonica (BRESCIA)
Corso: Informatica quinquennale
Anno: 5°? 6°? 7°? bho
Time Online: 19:22:16 [...]
Status: Offline
Edit | Report | IP: Logged |
no bullet
expr va, se fai girare il mio script te ne accorgi, la somma funziona, e stampa ogni volta una somma incrementale, quindi funziona... soloc eh fuori dal while torna a valere zero
__________________
Heal The World
Just Because You Read It In A Magazine Or You See It On A Tv Scren Don't Make It Factual
|
|
30-01-2008 12:50 |
|
|
|  |
 |
bullet |
| Come a me...Stessa cosa ... è come se le iniziali ... |
30-01-2008 13:02 |
|
 |
bullet |
.fedelissimo.
Registered: Oct 2004
Posts: 44 (0.01 al dì)
Location: busnago
Corso: informatica
Anno: 2
Time Online: 11:13:32 [...]
Status: Offline
Edit | Report | IP: Logged |
Come a me...Stessa cosa ... è come se le inizializza a zero quando finisce il ciclo...ke nervossoooooo....
|
|
30-01-2008 13:02 |
|
|
|  |
 |
bullet |
| ho scoperto una cosa :
... |
30-01-2008 13:20 |
|
 |
bullet |
.fedelissimo.
Registered: Oct 2004
Posts: 44 (0.01 al dì)
Location: busnago
Corso: informatica
Anno: 2
Time Online: 11:13:32 [...]
Status: Offline
Edit | Report | IP: Logged |
ho scoperto una cosa :
sto facendo lo script per trovare per ogni utente l'ocupazione in kb
#!/bin/sh
SUM=0
(cat /etc/passwd | cut -d : -f 3 |sort -n |uniq) |wile read id ;do
(find / -type f -user $id | xargs du | cut -f 1) | while read Sz ; do
SUM=$(expr $SUM + $ Sz)
done
echo " user $id spazio :$Sz"
done
ho scoperto questo: se cambio il valore a cui inizializzo SUM cambia pure il valore di uscita dal while ovvere mette il valore ke uso per inizializzare.
ho scritto a monga peravere dei chiarimenti sul while...
se scoprite qualcosa scriveteeeeee...
|
|
30-01-2008 13:20 |
|
|
|  |
 |
bullet |
| nell'echo non $Sz ma $SUM ... |
30-01-2008 13:21 |
|
 |
bullet |
.fedelissimo.
Registered: Oct 2004
Posts: 44 (0.01 al dì)
Location: busnago
Corso: informatica
Anno: 2
Time Online: 11:13:32 [...]
Status: Offline
Edit | Report | IP: Logged |
nell'echo non $Sz ma $SUM
|
|
30-01-2008 13:21 |
|
|
|  |
 |
zonker |
| [QUOTE][i]Originally posted by Liumberg [/i]
... |
30-01-2008 13:25 |
|
 |
zonker |
.illuminato.
Registered: Mar 2003
Posts: 200 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 2 Days, 6:24:53 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by Liumberg
scusate..
sto cercando di risolvere il problema "out of space" dei cicli FOR
usando while,il problema è che il sistema sembra dimenticare il contenuto delle variabili che vengono usate appena si esce da ciclo
nel seguente script (calcola lo spazio occupato dall'utente root) il valore della variabile TEMP alla fine è sempre 0.
TEMP=0
find ./ -type f -user root|xargs du|cut -f 1|while read FILE
do
TEMP='expr $TEMP \+ $FILE'
done
echo "occupazione utente root : $TEMP"
qualcuno sa aiutarmi?
ho paura che domani mi prendo una denuncia per aggressione..
Io ho fatto così:
#!/bin/sh
dimensione=0
somma=0
for dimensione in $(find / -type f -user 0 -exec ls -s {} \; | cut -f 1 -d " ");
do
somma=$(expr $somma + $dimensione)
done;
echo La somma dei file di root è: $somma
|
|
30-01-2008 13:25 |
|
|
|  |
 |
bullet |
| Anche a me funziona tutto se uso il for
... |
30-01-2008 13:28 |
|
 |
bullet |
.fedelissimo.
Registered: Oct 2004
Posts: 44 (0.01 al dì)
Location: busnago
Corso: informatica
Anno: 2
Time Online: 11:13:32 [...]
Status: Offline
Edit | Report | IP: Logged |
Anche a me funziona tutto se uso il for
ma alle volte il for ti può dare problemi di out of space che il while nn da.... misteri di minix
|
|
30-01-2008 13:28 |
|
|
|  |
 |
zonker |
| il problema è la localizzazione delle variabili.
... |
30-01-2008 14:19 |
|
 |
zonker |
.illuminato.
Registered: Mar 2003
Posts: 200 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 2 Days, 6:24:53 [...]
Status: Offline
Edit | Report | IP: Logged |
il problema è la localizzazione delle variabili.
la variabile TEMP esterna al ciclo di while non è la stessa TEMP all'interno del ciclo.
Infatti se metti una echo nel ciclo il TEMP viene valorizzato correttamente.
Si può, non molto elegantemente, risolver usando il filesystem così:
#!/bin/sh
somma=0
find / -type f -user 0 -exec ls -s {} \; | cut -f 1 -d " "|while read FILE
do
somma=$(expr $somma + $FILE)
echo $somma > ./tmp
done;
somma=$(cat ./tmp)
rm ./tmp
echo La somma dei file di root è: $somma
|
|
30-01-2008 14:19 |
|
|
|  |
 |
bullet |
| quindi quando uso il while e modifico una variabil ... |
30-01-2008 14:50 |
|
 |
bullet |
.fedelissimo.
Registered: Oct 2004
Posts: 44 (0.01 al dì)
Location: busnago
Corso: informatica
Anno: 2
Time Online: 11:13:32 [...]
Status: Offline
Edit | Report | IP: Logged |
quindi quando uso il while e modifico una variabile dichiarata all'esterno di esso il valore modificato vale solo all'interno del while
giusto??
Grazie
ciaoo ciao
|
|
30-01-2008 14:50 |
|
|
|  |
 |
zonker |
| esatto. ... |
30-01-2008 14:51 |
|
 |
zonker |
.illuminato.
Registered: Mar 2003
Posts: 200 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 2 Days, 6:24:53 [...]
Status: Offline
Edit | Report | IP: Logged |
esatto.
|
|
30-01-2008 14:51 |
|
|
|  |
 |
mjfan80 |
| ma come mai il while si comporta quasi come se fos ... |
30-01-2008 14:54 |
|
 |
mjfan80 |
.consigliere.
Registered: Nov 2001
Posts: 140 (0.02 al dì)
Location: Vallecamonica (BRESCIA)
Corso: Informatica quinquennale
Anno: 5°? 6°? 7°? bho
Time Online: 19:22:16 [...]
Status: Offline
Edit | Report | IP: Logged |
ma come mai il while si comporta quasi come se fosse una funzione (quindi con le proprie variabili interne?
se non arrivavi tu a dircelo, di questo comportamento (avremmo potutto capirlo e quindi usar comunque il file, ma insomma) dovre avremmo dovuto impararlo?
è così con linux normalmente o solo minix?
mi sa che prima proverò con i for e se creano problemi faro questi while + file
(un po' la soluzione che avevo usato in uno script un po' indietro)
domanda forse stupida, perchè il file è ./temp e non semplicemente temp?
__________________
Heal The World
Just Because You Read It In A Magazine Or You See It On A Tv Scren Don't Make It Factual
|
|
30-01-2008 14:54 |
|
|
|  |
 |
jeremy.1983 |
| [QUOTE][i]Originally posted by zonker [/i]
... |
30-01-2008 14:55 |
|
 |
jeremy.1983 |
allinuxato

Registered: Sep 2006
Posts: 42 (0.01 al dì)
Location: Saronno
Corso: Informatica
Anno: no comment
Time Online: 19:30:58 [...]
Status: Offline
Edit | Report | IP: Logged |
Originally posted by zonker
[...]
#!/bin/sh
somma=0
find / -type f -user 0 -exec ls -s {} \; | cut -f 1 -d " "|while read FILE
do
somma=$(expr $somma + $FILE)
echo $somma > ./tmp
done;
somma=$(cat ./tmp)
rm ./tmp
echo La somma dei file di root è: $somma
Il tuo script funziona se gli utenti hanno dei file.
Ci sono utenti (come 9998 o 9999) che non hanno file nel sistema, l'output per loro dovrebbe essere 0 ma non entrando mai nel while non si genera la variabile temporale incappando nel No such file or directory.
Comunque mi pare sia l'unica soluzione, per cui penso che farò così domani, se mi capiterà una roba del genere
|
|
30-01-2008 14:55 |
|
|
|  |
 |
| All times are GMT. The time now is 21:33. |
|
|
 |
|
 |
|
|
|  |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|