Andrea Lusuardi - UoVoBW wrote: > On Tue, 30 Sep 2008 22:52:59 +0200 > "Aimar Marco" <marco.aimar@xxxxxxxxx> wrote: > >> Buonasera a tutti, >> qualcuno sa "commentarmi" la differenza tra l'uso del comando >> find -name "nomeFile" >> e l'uso senza le virgolette >> find -name nomeFile >> >> Per esempio sul mio computer >> find . -name 'prog*' >> mi ritorna 17 elementi mentre >> find . -name prog* >> solo 1 > > credo, ma credo e basta, che con le "" tu passi a find il parametro di > name come nome che _lui_ interpreta per fare il match, mentre senza fa > match _prima_ la tua shell, e quindi find si trova in pasto > l'espansione di prog*, ovvero il file nella dir corrente. E' esattamente questa la differenza, la si può verificare passando lo stesso parametro al comando echo: $ echo "prog*" prog* $ echo prog* progetto.txt (ammettendo che nella directory corrente esista un file di nome "progetto.txt") Attenzione ad una potenziale fonte di confusione: se nessun file combacia con la wildcard, la shell passa l'argomento così com'è, quindi se non ci fosse alcun file prog* nella directory corrente il comando funzionerebbe come Marco si aspettava. Questo genere di inconvenienti è particolarmente insidioso negli script... Attenzione alla differenza tra 'apici' e "virgolette": in entrambi i casi le wildcard non vengono espanse, ma tra virgolette le variabili tipo $HOME vengono espanse. Rimando alla documentazione della shell per i dettagli. -- Ciao, Flavio Those who do not understand Unix are condemned to reinvent it, poorly. -- Henry Spencer -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx