[so] Lamuriri ...
Daniel Avieritei
so@cursuri.cs.pub.ro
1 Nov 2004 09:15:33 -0000
typedef struct simple_command {
word_t *in, *out, *err;
word_t *words;
int builtin;
} simple_command_t;
in care campurile in, out, err indica fisierul in care / din care trebuie redirectat stdin, stderr (probabil s-a vrut sa fie stdout aici) si respectiv stderr, campul builtin specifica ca aceasta comanda este una builtin (cd sau exit), iar campul words contine comanda de executat.
Shell-ul trebuie de asemenea sa suporte si urmatorii operatori de redirectare:
"> fisier" pentru redirectarea stdout-ului in fisier ---> deci tb sa am un smcd->out (diferit de NULL samd)?
"2> fisier" pentru redirectarea stderr-ului in fisier ---> deci tb sa am un smcd->err ?
"&> fisier" pentru redirectarea stdout-ului si a stderr-ului in fisier ---> deci tb sa am un smcd->out si un smcd->err?
"< fisier pentru redirectarea stdin-ului din fisier ---> deci tb sa am un smcd->in ?
Pentru cazul cu &>, scmd->out si scmd->err sunt aceleasi insa tb sa fie amandoua acolo ca sa ne putem da seama in ce caz ne incadram, nu?
(//quote from parser.y
simple_command REDIRECT_OE separator word { /*caz&>*/
$1->err=$1->out=$4;
)
----
Home, no matter how far...
http://www.home.ro