A simple implementation of a shell in C, written by Ammar Subei. Still a work-in-progress, and needs a decent amount of polishing.
Now supports basic tab-completion for file system paths, and supports access to command history using the arrow keys.
Enter your desired command followed by its arguments (if any). Supports some built-in functions like "cd" and "exit". Makefile provided for compilation.
The shell's up-to-date functionality:
- Maximum of 20 arguments
- Maximum of 2500 characters per line
- Supports basic I/O redirection
- Maximum of 2 different redirections per line
command > filenameredirects the output of command to filename, overwriting existing contents of filenamecommand >> filenameredirects the output of command to filename, appending to existing contents of filenamecommand < filenameredirects command to read its input from filename
- Supports changing current working directory
- Supports basic tab-completion
- Supports command history
- Does not support background processes
- Does not support command pipes
Here is a checklist of things I plan to work on for Almond Shell:
- Update user prompt to show current directory
- Support changing current directory
- Provide user with
helpcommand - Support tab-completion/auto-complete
- Support command history
- Support command pipes