[Soci SLIP] stupido dubbio

loredana llcfree a gmail.com
Lun 19 Dic 2011 16:31:33 CET


On 12/19/11, Lucio Crusca <lucio a sulweb.org> wrote:
> In data lunedì 19 dicembre 2011 15:16:19, loredana ha scritto:
>
>> Pensandoci, non e' specifico per chown e vale anche per tutti gli
>> altri comandi, visto che ha a che fare solo con le espressioni
>> regolari, in cui * significa zero o piu' caratteri (qualsiasi, in
>> questo caso compreso il ".")
>
> No, nel caso della shell "*" non significa zero o più caratteri e non segue
> la
> sintassi delle espressioni regolari. È una wildcard e segue le regole di
> globbing (man 7 glob). In parole povere significa "qualsiasi stringa" quasi
> indipendentemente da quale sia il carattere che precede l'asterisco. La bash
> espande l'asterisco in tutti i nomi di file non nascosti presenti nella
> cartella, ma se nessun file corrisponde all'espressione asteriscata, allora
> passa letteralmente l'asterisco al programma chiamato
>> Cosi, .* significa ".", cioe' la cartella
>> in cui sono, ma anche "..",
> ma anche ".bashrc", per quanto detto sopra.

Grazie della precisazione, ma mi sa che si sta dicendo la stessa cosa.
Almeno credo. Verifica: a livello di shell (cioe' di riga di comando)
come parametro di un comando ".*" significa ".", "..", ".abcd" etc,
cioe' qualsiasi "nome" che cominci con "." e sia seguito da zero o
piu' caratteri, quindi incluso ".".  Siccome "." significa "cartella
corrente", allora "." si riferisce anche a tutti i files e le cartelle
nelle cartella corrente.

Si possono fare delle prove con il comando "ls" che non genera guai.
Vero che si chiama globbing e val la pena di essere precisi. Pero' di
fatto si usa un'espressione regolare, che e' tra quelle definite per
glob (e quindi per tutti i comandi che si riferiscono a nomi di files
o cartelle che hanno wildcards, incluso ls). O no? Per me sono sempre
espressioni regolari, che variano a seconda del contesto (del
comando). E' questo il punto che mi premeva sottolineare, perche' e'
fonte di confusione e di gran casini il trascurare il fatto che tutto,
proprio tutto, dipende dal contesto. Se si da' un nome al contesto
(wildcard, glob), sembra che sia una cosa tutte le volte diversa,
mentre in genere e' solo una variazione minima dello stesso concetto
(espressione regolare o altro).

Si puo' aver ragione in due :) Da tenere a mente.

>> cioe' la cartella che sta al piano di
>> sopra. Meno male che -R (ricorsivamente) si applica solo in giu', non
>> in su'.
>
> Non sto capendo. Certo che -R si applica solo in giù, ma se fra gli
> argomenti
> ci metti "/home/dir/.." (cosa che capita se usi .*, sia nel caso del
> globbing
> sia nel caso delle espressioni regolari)

Non credo di aver capito io, qui. Qual e' il comando di cui parli?
Puoi fare un esempio con ls
e chown?

Per spiegare cosa intendevo io: immaginando di essere in una cartella
e di specificare i files da li', con ".*" e mi e' venuto in mente che
in fondo  se -R si applicasse ricorsivamente a ".."  potrebbe
risalire, oltre che scendere. Meno male che non lo fa. Non lo fa, ma
potrebbe farlo, se -R fosse definito cosi'. Insomma, pensavo ad alta
voce. Intendevo non solo quello che si fa, ma quello che si potrebbe
fare e non si fa, e perche' non si fa (OT; pensate perche' non si
castigano le banche, come tutti sembrano richiedere a gran voce ma
nessuno vuole fare. Suggerimento: dove stanno i vostri soldini, pochi
o tanti che siano?)

Loredana




Maggiori informazioni sulla lista Soci