Re: Re: DEBIAN: 10+
Ciao.
Grazie a tutti per l'aiuto.
Volendosi spingere oltre bash, probabilmente la semantica di questo comando è
da ricercare nel kernel.
Quando digitiamo
# :> /var/log/messages
bash implementa '>' aprendo file /var/log/messages in scrittura;
per chi conosce un po' di programmazione di sistema
open("/var/log/messages", O_WRONLY|O_TRUNC)
e ciò basta a produrre l'effetto voluto.
Oltre ciò la shell, come fai notare tu Alessandro, si limita ad espandere gli
argomenti, ma non deve eseguire proprio nulla (salta a piè pari system call
come close() / dup() / execve()).
Grazie.
Ciao,
Davide
On Monday 19 July 2004 11:59, alessandro giacomin wrote:
> bugbuster@libero.it ha scritto:
> > # :> messages
> >
> > [...]
> >
> > Domanda. Avete idea di come faccia la shell a realizzare una cosa
> > simile ? Ipotesi: cat /dev/null > messages.
>
> da man bash:
> : [arguments]
>
> No effect; the command does nothing beyond expanding arguments and
> performing any specified redirections. A zero exit code is returned.
>
> quindi redirige il nulla sul file (ovvero (ri)crea un file vuoto)
>
> > 3) time scrive sui stderr le statistiche d'uso delle risorse di
> > sistema consumate da un comando.
> >
> > Domanda. Perche non riesco a ridirigere l'output su un file con
> > l'opzione -a ?.
>
> da man time:
> -o FILE, --output=FILE
> Do not send the results to stderr, but overwrite the
> specified file.
>
> -a, --append
> (Used together with -o.) Do not overwrite but append.
>
> se non metti -o, -a è inultile
>
> --
> alessandro giacomin (tenicoz)
> ~, sweet ~
Reply to: