Pages

Friday, 25 March 2022

JamesShell

A simple and naive UNIX shell.

Features

  •  Up and running
  •  No memory leakage
  •  CMake
  • OS coverage
    •  Linux
    •  macOS (partial, debugging is hard since Valgrind is not supported)
    •  Linux Subsystem for Windows
    •  Native Windows
    •  Lagecy UNIX
    •  Plan9
  • Builtin commands
    •  exit
    •  cd (partial, no tilde expansion and must be followed by a path)
    •  about
  •  Execution of external executables
  •  rc files support (partial, no tilde expansion so put them under pwd)
    • /etc/jshrc
    • ./.jsh_profile
    • ./.jshrc
  •  Environment variables support
  •  Comment support (ignore #)
  •  POSIX style expansion (tilde, etc.)
  •  Pipe
  •  Scripting: invoke as jsh script1 [script2 [script3 ...]]
  •  Colored terminal support
  •  Arguments

About

Written by James Swineson. Heavily impressed by Tutorial - Write a Shell in C.


frm https://github.com/Jamesits/JamesShell

No comments:

Post a Comment