[so] [Tema 1][Linux] Redirectari
Adrian Sendroiu
molecula2788 at gmail.com
Tue Mar 26 21:59:52 EET 2013
Mihail Dunaev <ddryhten at gmail.com> writes:
> Salut,
>
> Am observat că pe Linux este o diferenţă între “cmd >file 2>file” şi “cmd &>file”.
> Prima deschide de două ori “file” (doi file descriptori diferiţi) cu O_TRUNC astfel că
> în final în “file” o să avem fie afişările de la stdout, fie cele de la stderr, iar a doua
> foloseşte acelaşi file descriptor, deschizând o singură dată fişierul (deci o să apară
> şi stdout şi stderr). Nu am văzut cum am putea să facem difereţa între cele două
> cazuri folosind parserul oferit (decât dacă am mai face nişte modificări în el).
>
> Întrebarea mea este : trebuie neapărat să facem diferenţa între cele 2 cazuri ? Am
> observat că trecem toate testele dacă facem implementarea de la “&>” (un singur
> file descriptor, deci şi stdout şi stderr o să apară în fişier), şi picăm un test dacă
> implementăm primul caz :)
Salut
In cazul "&>" o sa ai scmd->out == scmd->err. In celalalt caz cei 2
pointeri o sa fie diferiti, chiar daca stringurile din interior sunt
aceleasi, comparate cu strcmp.
Trece toate testele cu implementarea de la "&>" deoarece nu avem niciun
test care sa faca '>file 2>file'.
More information about the so
mailing list