Categorygithub.com/Emmie8/Project2
repositorypackage
0.0.0-20230511175718-b27d7ed36f7c
Repository: https://github.com/emmie8/project2.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

Project 2: Shell Builtins

To Run

Open a terminal, navigate to the directory with main.go, and type "go run main.go"

The commands

The five commands we added are: mkdir: Josh rmdir: Percy read: Emmie pwd: Mya ls: Demir

Description

For this project we'll be adding commands to a simple shell.

The shell is already written, but you will choose five (5) shell builtins (or shell-adjacent) commands to rewrite into Go, and integrate into the Go shell.

There are many builtins or shell-adjacent commands to pick from: Bourne Shell Builtins, Bash Builtins, and Built-in csh and tcsh Commands.

Feel free to pick from sh, bash, csh, tcsh, ksh or zsh builtins... or if you have something else in mind, ping me and we'll work it out.

As an example, two shell builtins have already been added to the package builtins:

  • cd
  • env

Steps

  1. Clone down the example input/output and skeleton main.go:

    git clone https://github.com/jh125486/CSCE4600

  2. Copy the Project2 files to your own git project.

Start editing the main.go command switch (lines 57-64) and the package builtins with your chosen commands.

Grading

Code must compile and run.

Each type is worth different points:

  • 10 points for each command implemented.
  • 50 peer points (points per peer adjusted for group size)

Deliverables

A GitHub link to your project which includes:

  • README.md <- describes anything needed to build (optional)
  • main.go <- your shell
  • builtins package <- each command should have it's own file (for readability)