Skip to content

javieracevedo/meshell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

This project is a second rewrite of a custom UNIX-like shell, developed as a hands-on exercise while studying "Operating Systems: Three Easy Pieces" (OSTEP). The primary goal is to deepen my understanding of C programming, process management, pipes, and redirection in a UNIX environment.

Getting Started

Compile

This project is entirely written in C, and compiled with gcc.

To compile install gcc, clone the repo, and run make in the project's root. If successful you should have a binary in bin/mishell

Run

You can run the shell in two modes:

  • Batch mode: passing a file with a list of commands to run in batch bin/mishell batch.txt
  • Interpreter mode: running the shell with no arguments bin/mishell

Roadmap

  • Simple configuration via .rc file
    • Background color
    • Prompt color
    • Path
    • Start sounds (annoying feature)
    • Quote of the day
  • Piping
  • Output redirection
  • Built-in commands: exit, cd, setpath
  • Parallel command execution

Acknowledgments

Authors of Operating Systems: Three Easy Pieces. Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, Arpaci-Dusseau Books, November, 2023 (Version 1.10)

About

Unix-Like Shell

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published