Newsgroup: it.comp.os.linux.iniziare
Titolo: chmod -r ...

 ... mentre ha senso, spesso, fare un `chown -R ./someDir`, mi trovo
idem..
chmod -R ...
ciao
Rob

 ricorsivo che agisca solo sui files o solo sulle directory.
man find
Hint: find . -type d -exec chmod 755 \{\} \;
Ciao,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)                 [ 
http://www.emmanuelebassi.net
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

 Hint: find . -type d -exec chmod 755 \{\} \;
grazie!


)
(per lo stesso Message-id direi "USATE GOOGLEEEEEEEEeeeeeeee.......  
*PUFF!"
Ciao, Emmanue'.
-- 
Antonio :-D

 *PUFF!"
UH ?
boh !
ciao, f.


 \{\}... ???
alcune shell voglio il carattere di escape prima delle graffe
e del ";". Con bash non dovrebbe essere necessario, però non
dovrebbe dare fastidi.
ciao, andrea

)
Escape delle graffe. Alle volte serve, e non sapendo la shell usata,
meglio esser prudenti. :-)
Senza contare che io *odio* find. Non lo sopporto, è una cosa di pelle.
Preferisco scrivermi un oneliner in Perl, piuttosto che usarlo. :-)


 boh !
Cerca su Google il message id, e la prossima volta cerca su Google la
risposta.




Aspe', Andrea, spiegamele con calma le cose che questa è la settima ora di
lavoro. :-)
Io normalmente faccio:
$~ find . -type d -exec chmod 755 {} \;
Se ommetto il \ davanti al punto e virgola non funziona. Quindi è
necessario. Ma davanti alle parentesi credo che non sia necessario, proprio
perché l'espressione di cui sopra funziona.
Anzi, ragionandoci:
- Lancio find da console. Sto usando la shell A.
- Find prende tutto quello che c'è dopo exec fino al ";". il "\" serve 
  per non far interpretare il ";" dalla shell A.
[snip di ragionamenti in cui mi stavo incartando]
Bisognerebbe capire se le "{}" non vengono espanse perché sono l'argomento
di una opzione o per quale motivo.
- Find espande {} con il file che sta processando al momento.;
- find passa quel che trova dopo l'opzione exec alla shell 
Non ho davanti il mio PC per cui non posso provare, ma sono sicuro al 99.9%
che senza proteggere il ; non funziona.
Boh?
-- 
Antonio :-D

di una opzione o per quale motivo.
PIRLA! (c'è l'ho con me! ^__^)
E' ovvio perché non serve proteggere le graffe (parlo di bash, la shell che
conosco 
meglio).
Andre', tu lo sai come funziona, ma per chi fosse interessato spiego con
calma:
Si inserisce il comando. 
La shell prende quel che hai scritto è inizia a fare le sue
interpretazioni; innanzitutto prende il blocco fino al punto e virgola, che
separa comandi diversi, poi espande le parentesi, poi la tilde, le
variabili, ecc.ecc..
Nel nostro caso il ";" va protetto perché non deve essere visto dalla
shell, in quanto serve a find, che se lo ritroverà, quando analizza i suoi
argomenti, senza il "\" (si dovrebbe provare con un'espansione multipla,
magari mandando un "echo" in pipe a /bin/bash per vedere se è vero questo).
Poi la shell va a vedere se ha parentesi da espandere.
Legge il comando, vede le due graffe, si guarda in giro, e va avanti.
Perché? Perché bash espande le graffe solo se e solo se trova almeno una
virgola al loro interno!
Risolto l'arcano. :-)
Ciao.
-- 
Antonio :-D

 
ricordati anche che non esiste solo bash, ma anche
zsh, ksh, csh, tcsh, ...
ognuna di queste ha comportamenti un po' diversi 
nell'espandere i caratteri speciali ;-)
ciao, Andrea