[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: