A basic shell made as a part of Operating Systems and Networks course.
- Prompt with username, hostname and directory
- Basic commands :
cd
,pwd
,echo
,ls
,repeat
,pinfo
- Ability to run external commands as foreground and background
- Run
make
to build the executable - Run
make run
or./vsh
to start the shell
Functionality | Files |
---|---|
Prompt | prompt.c prompt.h |
cd, pwd, echo, repeat, jobs, fg, bg, sig, replay | builtins.c builtins.h |
ls | ls.c ls.h |
Baywatch | baywatch.c baywatch.h |
Input parser | parse.c parse.h |
External commands | execute.c execute.h |
Background jobs | jobs.c jobs.h |
Data structure for commands | args.c args.h |
Error handling, etc | utils.c utils.h |
History | history.c history.h |
Up arrow key | rawio.c rawio.h |
IO Redirection | execute.c execute.h |
Signal Handling | Handled when process is set as fg in execute.c |