This is some output from a run of my shell program.  Note the jobs
		run in the background, the history command, and the !num commands.
% ./cs31shell
cs31shell> ls
Makefile     history_bash   myparseline.h  parsecmd.o	  sleeper.c
cs31shell    infloop.c	    parsecmd.c	   sample_output
cs31shell.c  myparseline.c  parsecmd.h	   sleeper
cs31shell> ls -l -a
total 84
drwx------ 2 newhall users  4096 Nov 10 20:42 .
drwx------ 4 newhall users  4096 Nov 10 20:16 ..
...
cs31shell> whoami
newhall
cs31shell> ./sleeper &
cs31shell> ./sleeper &
cs31shell> ./sleeper 10 &
cs31shell> ps w
  PID TTY      STAT   TIME COMMAND
12174 pts/3    Ss     0:00 bash 
21553 pts/8    S+     0:00 ./cs31shell
21594 pts/8    S+     0:00 ./sleeper      # background job
21596 pts/8    S+     0:00 ./sleeper      # background job
21606 pts/8    S+     0:00 ./sleeper 10   # background job
21616 pts/8    R+     0:00 ps w
cs31shell> ./sleeper 20 &
cs31shell> ps w
  PID TTY      STAT   TIME COMMAND
12174 pts/3    Ss     0:00 bash
21553 pts/8    S+     0:00 ./cs31shell
21606 pts/8    S+     0:00 ./sleeper 10    # background job (previous one exited)
21626 pts/8    S+     0:00 ./sleeper 20    # background job
21627 pts/8    R+     0:00 ps w
cs31shell> blah
blah: command not found
cs31shell> ps w
  PID TTY      STAT   TIME COMMAND
12174 pts/3    Ss     0:00 bash 
21553 pts/8    S+     0:00 ./cs31shell
21626 pts/8    S+     0:00 ./sleeper 20    # background job (sleeper 10& exited)
21666 pts/8    R+     0:00 ps w
cs31shell> history
     2  whoami
     3  ./sleeper &
     4  ./sleeper &
     5  ./sleeper 10 &
     6  ps w
     7  ./sleeper 20 &
     8  ps w
     9  blah
    10  ps w
    11  history
cs31shell> !4                          # runs: ./sleeper &
cs31shell> !10                         # runs: ps w
  PID TTY      STAT   TIME COMMAND
12174 pts/3    Ss     0:00 bash 
21553 pts/8    S+     0:00 ./cs31shell
21626 pts/8    S+     0:00 ./sleeper 20
21686 pts/8    S+     0:00 ./sleeper
21687 pts/8    R+     0:00 ps w
cs31shell> !10                         # runs: ps w
  PID TTY      STAT   TIME COMMAND
12174 pts/3    Ss     0:00 bash
21553 pts/8    S+     0:00 ./cs31shell
21717 pts/8    R+     0:00 ps w
cs31shell> history
     6  ps w
     7  ./sleeper 20 &
     8  ps w
     9  blah
    10  ps w
    11  history
    12  ./sleeper &                   # this was added from !4
    13  ps w                          # this was added from !10
    14  ps w                          # this was added from !10
    15  history
cs31shell> !3
!3: not found
cs31shell> !12                         # runs: ./sleeper &
cs31shell> !13                         # runs: ps w
  PID TTY      STAT   TIME COMMAND
12174 pts/3    Ss     0:00 bash
21553 pts/8    S+     0:00 ./cs31shell
21748 pts/8    S+     0:00 ./sleeper
21758 pts/8    R+     0:00 ps w
cs31shell> history
     9  blah
    10  ps w
    11  history
    12  ./sleeper &
    13  ps w
    14  ps w
    15  history
    16  ./sleeper &
    17  ps w
    18  history
cs31shell> ps w
  PID TTY      STAT   TIME COMMAND
12174 pts/3    Ss     0:00 bash
21553 pts/8    S+     0:00 ./cs31shell
21748 pts/8    S+     0:00 ./sleeper
21768 pts/8    R+     0:00 ps w
cs31shell> exit
bye bye