| Crates.io | ishell |
| lib.rs | ishell |
| version | 0.3.1 |
| created_at | 2025-01-18 07:10:00.213196+00 |
| updated_at | 2025-01-26 20:29:46.882872+00 |
| description | Pseudo-interactive shell interface for Rust |
| homepage | |
| repository | https://codeberg.org/alexlnkp/ishell |
| max_upload_size | |
| id | 1521432 |
| size | 26,043 |
The main goal was to make a shell interface that remembers cd commands.
You can create a new shell by simply doing:
// 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:
// 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:
shell.run_command("echo 'Hello, World!'");
The run_command method also returns std::process::Output type.
You can also call
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.