ishell 0.3.1

Pseudo-interactive shell interface for Rust
Documentation
### IShell - (pseudo)interactive shell

[![Rust](https://github.com/alexlnkp/ishell/actions/workflows/rust.yml/badge.svg)](https://github.com/alexlnkp/ishell/actions/workflows/rust.yml)

The main goal was to make a shell interface that remembers `cd` commands.

You can create a new shell by simply doing:
```rust
// Will open a shell in the same directory as the shell running the program
let shell = IShell::new();
```

You can also specify where to open the shell initially:
```rust
// Parameter here is an `&str` or `&Path`, corresponding to
// the initial directory from where the command will be ran.

// No matter from where you run the program,
// the shell will always be created at ~/Desktop
let desktop_shell = IShell::from_path("~/Desktop");
```

To run a command through your shell, you can do the following:
```rust
shell.run_command("echo 'Hello, World!'");
```

The `run_command` method also returns `std::process::Output` type.

You can also call
```rust
shell.forget_current_directory();
```
To make the shell set current directory to the initial directory specified.
If initial directory wasn't specified, then this sets the current shell directory to
the `$PWD` of the terminal running the program.