Rashell - Command Processor
Rashell is an Open-Source command processor for Windows.
It takes cues from the Windows Command Prompt (CMD) and from Bash Shell bash.
Developers
Rashell is developed by the community.
Introduction
Rashell is developed using Microsoft .NET Framework.
Currently, .NET Framework 4.6 is required to run Rashell.
Recompiling using an older version of .NET should not be a problem.
Rashell is created to be fully dynamic and customizable.
Every behaviour of the Shell can be controlled from a configuration file config.conf.
that is found in the startup directory of Rashell.
Licence
Rashell is licenced under the GNU General Public License v3.
Comparison between 'Rashell' and 'cmd'
- Rashell is fully configurable and user customizable.
- Rashell supports custom Environment Paths that aren't specifically registered on the machine through the
config.conffile. - Rashell is able to execute user defined executables.
- Rashell supports event and error loggin (We're still working on that one).
- Rashell is open-source.
Download Rashell
Either clone and compile this repository or click on the link below to download the lastest release. https://dl.jcplaboratory.org/rsh
Execution via Argument
Rashell supports execution via argument.
Here is a list of the currently supported switches:
-cThis switch tells Rashell that it/she should execute the command specified. (Example:rashell.exe -c mkdir %userprofile%\folder).-eBy default Rashell exits after the command parsed via arguments ends. To prevent that, use the switch-e. (Example:rashell.exe -ce mkdir %userprofile%\folder).-vBy default Rashell doesn't display the command it executes that are parsed via arguments. To make it/she show the commands use the verbose (-v) switch. (Example: rashell.exe -cev mkdir %userprofile%\folder).
Built-in commands
Rashell has number of buit-in commands.
Here's a list:
ls- List all files and directories. Help command (ls -?).mkdir- Creates a new directory.cd- Sets the Current Working Directory.pwd- Prints the Current Working Directory.echo- Prints a string of characters on screen.whoiam- An enhanced version ofwhoami.clear- Clears the console's screen.time- Displays the current time.date- Displays the current date.exit&bye- Exits the Shell.
There's more to come.
Configuration overriders
It is possible to override configuration parameters using the --config$ option argument.
The current list of supported config overriders (non case-sensitive):
DEF_WORKING_DIRchanges the default directory in which Rashell starts up into.- Example:
rashell.exe --config$DEF_WORKING_DIR="%appdata%"will cause Rashell to startup into the AppData Directory.
- Example:
DISPLAY_WELCOME_MSGcan be used to toggle ON/OFF the display welcome message parameter.- Example:
rashell.exe --config$DISPLAY_WELCOME_MSG=OFFtoggles off Welcome Message.
- Example:
PRIORITIZE_BUILTIN_SHELLcan be used to toggle the built-in shell parameter.- Example:
rashell.exe --config$PRIORITIZE_BUILTIN_SHELL=OFFwill toggle off the parameter. ENABLE_EVT_LOGcan be used to toggle ON/OFF Rashell's event-logger.- Example:
rashell.exe --config$ENABLE_EVT_LOG=ONwill turn on the event-logger.
- Example:
ENABLE_ERR_LOGcan be used to toggle ON/OFF Rashell's error-logger.- Example:
rashell.exe --config$ENABLE_ERR_LOG=OFFwill turn off the error-logger.
- Example:
Multiple overriders can be used at once alongside Rashell's switches and command.
GNU CoreUtils by Cygwin
To bring the Linux feel to Windows, Rashell uses the GNU CoreUtils binaries compiled for Win32 by the Cygwin Project. GNU CoreUtils and Cygwin redistributed binaries are licensed under the GNU General Public License v3 or later. See License.md
The official list of Rashell's binary packages can be found here.

