I\'m a newbie to process and thread management. My Shell should understand PATH
environment variable. It can be set and modified. It runs in two ways -interacti
Your main loop is:
fgets(3)
for a simple shell, readline(3)
for a fancy one)To parse the command, there are two common choices. Write a recursive descent parser or use yacc(1)
to generate one. It's a lot easier to bang out an initial parser using yacc
, but you can totally get stuck debugging it and it really wants to be context-free. I prefer recursive descent but just about everyone else in the world prefers using yacc. (Technically, bison
.) If the shell is really really simple, like a homework shell, yacc may be overkill.
To do the lexical analysis you can also roll your own or use flex.
You won't need to use any threads.