• Forum
  • Lounge
  • Need some ideas to improve on school pro

 
Need some ideas to improve on school project

I hope it's okay to ask this here, but I need some ideas on how to improve a class project so that it becomes a "side project" that I can put on my resume.

So I had a class project where I implemented a shell in C that was capable of: executing unix commands, file redirection, background processes.

Are there anything else I can add to it to make it better?
That doesn't sound complex enough to warrant putting it on a resume. Can it at least be used as a proper sh replacement?
You could add some of these features:
- piping commands together
- environment variables
- Filename expansion.

@helios: well that's why I'm asking for suggestions on how to improve it to make it good enough to put on my resume

@dhayden: well I used execvp() to execute the commands, so wouldn't the piping commands together already work? I don't think I've tried that, but I know it can do output/input redirection into files and such.

Can you elaborate on the other two?
I used execvp() to execute the commands, so wouldn't the piping commands together already work?
No. execvpe() will search for the executable in $PATH, but it does nothing regarding pipes or file redirection. You have to do that yourself.
@dhayden: no I meant the program uses execvp() to execute command but it uses dup2() for redirection and pipes.

Can you clarify what you mean by the other two things you mentioned? The class project is already done, but since it's a class project everyone did the same thing. So I want to improve it to make it a side project for my resume.
Last edited on
1. Does the shell let you set an environment variable. For example:
$ MY_VAR=hello
and does it successfully pass that to the executed program.

2. If the directory contains files named f1, f2 and f3, and you do this:
$ myProg f*
Then myProg's argv vector should contain:
argv[0] = myProg
argv[1] = f1
argv[2] = f2
argv[3] = f3

Topic archived. No new replies allowed.