Skip to content

Simple OS shell for a Unix-type system, made in C.

Notifications You must be signed in to change notification settings

JamesDick/simple-shell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Shell

Simple OS shell for a Unix-type system, made in C as part of an assignment at the University of Strathclyde.

Usage

You can get a compiled version of the shell from the releases section, or if you'd like to compile it yourself, you can run:

gcc -o simple-shell shell.c alias.c history.c

Following this, you can run the shell with:

./simple-shell

Commands

The shell supports the following commands:

cd – Change working directory.

getpath – Print system path.

setpath – Set system path.

history – Print history contents (numbered list of commands in history, including their parameters, in ascending order from least to most recent).

!! – Invoke the last command from history (e.g. if your last command was ‘ls –lF’ then ‘!!’ will execute ‘ls –lF’).

!<no> - Invoke command with number from history (e.g. !5 will execute the command with number 5 from the history).

!-<no> - Invoke the command with number the number of the current command minus (e.g. !-3 if the current command number is 5 will execute the command with number 2, or !-1 will execute again the last command).

alias – Print all set aliases (alias plus aliased command).

alias <name> <command> - Alias name to be the command. Note that the command may also include any number of parameters.

unalias <command> - Remove any associated alias.

Contributors

Developed as a Group Project, members:

  • James Dick
  • Yohanes Zhelezov
  • Cameron MacReady
  • Jamie McKitting
  • Mary Amanda Iferi-Norman