https://github.com/nyoungstudios/shell-project
Created a shell interpreter with features similar to ones in bash or csh.
https://github.com/nyoungstudios/shell-project
c cpp lex shell yacc
Last synced: about 2 months ago
JSON representation
Created a shell interpreter with features similar to ones in bash or csh.
- Host: GitHub
- URL: https://github.com/nyoungstudios/shell-project
- Owner: nyoungstudios
- Created: 2020-06-27T13:28:54.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-06-27T14:33:43.000Z (about 6 years ago)
- Last Synced: 2025-01-21T04:41:37.418Z (over 1 year ago)
- Topics: c, cpp, lex, shell, yacc
- Language: C++
- Homepage:
- Size: 1.43 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# My Shell Project
My shell project that I created for the Systems Programming class at Purdue. Got over 100% on this project.
## Features
1. Features specified in the handout that work.
Everything works including:
Parsing and executing commands
File redirection >, >>, <, >&, and >>&
Pipes |
isatty()
Ctrl+C
Zombie Elimination
Exit the shell
Quotes "" and ''
Escaping special characters \\
Builtin Functions (printenv, setenv, unsetenv, source, cd)
Source .shellrc file
Source with environment variables
Subshells $()
Process substitution
Environment variable expansion ${}
Tilde expansion (~)
Wildcarding (*, ?)
Edit mode (arrow keys, Ctrl+D for delete, Ctrl+H for backspace, Ctrl+A for home, Ctrl+E for end)
History up and down arrow keys
Editing history commands
Variable prompt
2. Features specified in the handout that do not work.
Nothing
3. Extra features I have implemented.
cd - . This returns to the last directory the user was in before the current directory. Also updates PWD and OLDPWD environment variables for all cd commands.
$?, $_, $SHELL, $anything. Extra environment variable parsing without the curly brackets like zsh.
Error statement if command not found