Submitting Assignment 2
Once you’ve finished everything, you are ready to submit your work. You are submitting your assignment results as commits that have to be pushed to the github repository. The section about staging and committing changes in VSCode gives you a good introduction on how to do this.
To summarize the tasks for this assignment:
- From Directory Commands:
- Add a new built-in
pwd
that prints the current working directory to standard output. - Add a new built-in
cd
that takes one argument, a directory path, and changes the current working directory to that directory.
- Add a new built-in
- From Program Execution:
- Modify your shell so that it can execute programs when they are entered into the shell.
- From Path Resolution
- Modify your shell so that it uses the
PATH
variable from the environment to resolve program names.
- Modify your shell so that it uses the
- From Redirection
- Modify your shell so that it supports redirecting
stdout
andstdin
to/from files.
- Modify your shell so that it supports redirecting
- From Pipes
- Modify your shell so that it supports pipes between programs.
- From Signal Tasks
- Ensure that each program you start is in its own process group.
- From Foreground and Background Processes - Extra Credit
- Modify your shell so that it runs commands that end in an
&
in the background. - Add the
fg
andbg
built-in commands to your shell.
- Modify your shell so that it runs commands that end in an
Part of the tests are marked as ‘Shell Extra Tests’ (run my
make check_extra
). These tests check whether the redirection and/or pipe characters (i.e.'>'
,'<'
, and'|'
) have been misplaced on the shell’s command line. Passing those tests gives you Extra Credit
Please also note, that once you push to your repository, Github will compile and run your code automatically. This will result in a being added to the home page of your repository, telling you that all tests you added have successfully passed. If you see a
instead, then one or more of the tests in your code have failed and you will have to debug your code. Simply commit and push again once you have fixed the problems.
There is also an introduction to Git available that describes the overall concepts and the use of Git from a command line. It also answers some frequently asked questions.
We have a Github tutorial you might want to have a look at as well.
Last but not least, you can have a look at this document if you are interested in knowing more about Github Classroom.
And that’s it! You’re done!