Code Monkey home page Code Monkey logo

xhell-dev's Introduction

xhell ๐Ÿš

This is a basic shell implementation written in C, It allows you to execute commands and interact with your operating system.

Features

  • Execute system commands.
  • Handle basic input/output redirection.
  • Support piping multiple commands together.

Prerequisites

Before you get started, ensure you have the following installed:

  • CMake ๐Ÿ› ๏ธ (for building the project)
    • You can download it from CMake.

Building the Project

Follow these steps to build the C shell:

  1. Clone this repository:

    git clone https://github.com/moussacodes/xhell
    cd your-c-shell
    mkdir build
    cd build
    cmake .. && make && ./xhell

Tested Environment

This C shell has been tested only on Linux-based operating systems. While it may work on other platforms, it is primarily developed and optimized for Linux.

Development Status

Please note that this project is currently in the development phase. While it provides basic shell functionality, there may be bugs, limitations, or missing features. Contributions and feedback are welcome to help improve and expand its capabilities.

xhell-dev's People

Contributors

asifzaman0362 avatar luketheengineer avatar moussacodes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

xhell-dev's Issues

GDB Commands Not Displayed in xhell

Problem

When using GDB (GNU Debugger) with our shell, commands entered in GDB are not being displayed. This is because our shell adds each user-typed command to a buffer (cmd->cont) and displays it on the screen for each character insertion. As a result, GDB, which has its own shell, is not able to show the commands.

Details

  • When a user inputs a command, it is added to cmd->cont in the buffer.
  • GDB has its own shell, which is why the commands entered in GDB are not being shown.

Expected Behavior

Commands entered in GDB should be visible and displayed in the terminal just like regular shell commands.

Steps to Reproduce

  • Start xhell.
  • Launch GDB.
  • Enter a command in GDB.

parse user commands

Right now, our shell only handles basic commands like cd, ls, and clear. But, if we add arguments, they get ignored. To fix this, we need to parse commands to understand pipes, redirections, and arguments

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.