A simple, tiny, Unix Shell written in C language, opensource

A

BD-shell is a project I started about a month ago, which aims to implement a tiny, simple, clean unix shell written in C language. It’s an academic project. The Operating Systems Course at my University requires this project as part of the assesment.I decided to publish the source code and to release it under the GPL, for two reasons:
Free software is better! Others can learn something from what I learnedFree software is better! I can learn something from what others learned
As always, I accept every kind of suggestions!
Learn more about the project and download the code at this page: https://ineed.coffee/projects/bd-shell/

About the author

dgraziotin

Dr. Daniel Graziotin is a senior researcher (Akademischer Rat) at the University of Stuttgart, Germany. His research interests include human, behavioral, and psychological aspects of empirical software engineering, studies of science, and open science. He is associate editor at the Journal of Open Research Software and academic editor at the Research Ideas and Outcomes (RIO) journal. Daniel was awarded an Alexander von Humboldt Fellowship for postdoctoral researchers in 2017, the European Design Award (bronze) in 2016, and the Data Journalism Award in 2015. He received his Ph.D. in computer science at the Free University of Bozen-Bolzano, Italy.

6 comments

Leave a Reply to Marek Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  • Dude you are a life saver. If you were here right now, I would kiss you….. Thanks a million billion times…..

    • The entire shell is barebone. It uses only:

      #include <stdio.h>
      #include <stdlib.h>                                                                            // just for malloc()
      #include <unistd.h>                                                                           // unix standard lib (fork, dup2 etc.)
      #include <string.h>                                                                            // string functions
      #include <sys/types.h>                                                                     // extra data types
      #include <signal.h>                                                                            // signals
      #include <sys/wait.h>                                                                        // wait functions
      #include <fcntl.h>                                                                               // file descriptor operations
      #include <termios.h>
      

      Please note that I wrote it about 13 years ago. I can’t remember anything more about it 🙂

By dgraziotin

About Author

dgraziotin

Dr. Daniel Graziotin is a senior researcher (Akademischer Rat) at the University of Stuttgart, Germany. His research interests include human, behavioral, and psychological aspects of empirical software engineering, studies of science, and open science. He is associate editor at the Journal of Open Research Software and academic editor at the Research Ideas and Outcomes (RIO) journal. Daniel was awarded an Alexander von Humboldt Fellowship for postdoctoral researchers in 2017, the European Design Award (bronze) in 2016, and the Data Journalism Award in 2015. He received his Ph.D. in computer science at the Free University of Bozen-Bolzano, Italy.