A self-made shell program named after "Mum" for VE482-SU20 Project 1.
- parsing and executing pre-installed user programs
- parsing arguments
- File I/O redirection (
>
,>>
,<
, combination of them) - pipes (
|
, combination of different operators) - Ctrl-D
- Ctrl-C
- parsing quotes (
'
,"
, combination of different operators) - additional prompts on incomplete operators
- error handling
- parsing background operators (
&
, combination with pipes)
keyword | # task | description |
---|---|---|
exit | 1 | exit memsh |
pwd | 7 | display current directory |
cd | 7 | change directory |
jobs | 13 | display list of background tasks |
- for empty input filename, the error handler will fail.
- when choosing gnu11 to compile, a warning "implicitly declaring library function 'memset'" shows even if
string.h
is included.
I've attached a notebook NOTES.md
that might be helpful to beginners that are interested in writing a customized shell program.
This repo is an educational project. If there is similar course materials assigned in the future, it is the responsibility of JI students not to copy or modify these codes, or MD files because it is against the Honor Code. The owner of this repository doesn't take any commitment for other's faults.