#RSHELL
Project source can be downloaded from https://github.com/drami025/rshell.git
Daniel Ramirez
All other known bugs and fixes can be sent to drami025@ucr.edu
Reported bugs/fixes will be submitted to correction.
The purpose of this program is to create and execute a simple command shell, which is called rshell.
Rshell can:
- Execute most of the commands of a normal BASH shell
- Execute commands chained together using connectors
- Exit from rshell to your normal BASH shell using command
exit
.
As of now, rshell cannot built in BASH commands, like cd
.
.:
Makefile
LICENSE
README.md
./src
./tests
./src:
rshell.cpp
ls.cpp
cp.cpp
./test:
exec.script
ls.script
pipe.script
In order to run this program, you must have the Boost library installed. If you are using a Linux Operating System, run this command to install this library:
$ sudo apt-get install libboost-all-dev
Run these commands from the local repository's root directory (.../rshell/):
$ make
$ bin/rshell
To run cp
or ls
run these commands after make
:
$bin/cp
$bin/ls
- Typing in more than one connector with no command (i.e, typing just
;;
and hittingenter
) will only give you the proper error for one connector. - Programs do not run in the background.
- Typing in
$ ls && && && ls
will actually runls
twice, as opposed to just returning an error. - Typing in a command and then a connector like
&&
or||
will actually cause the command before the connector to execute, as opposed to waiting till a second command to inputted. - Typing in
ls | echo test
does not cause piping as of now. - Typing in something like
ls &&& ls
will actually run the commands while still giving an error for an unexpected token, as opposed to just returning an error in a normal BASH shell. - Quote features do not function as they are suppose to. For example, if you type in
echo "hello world"
you would receivehello world
on a normal BASH shell. On this shell, you will seehello world
. - Formatting feature is still not up to par with the BASH shell's ls
- Some folders do not appear alphabetically when using recursive flag
-R
- Bug with reading comments on chained IO redirection with piping.
- String redirection
<<<
not fully functional as of now. Please avoid using this function.