File | Date | Author | Commit |
---|---|---|---|
.github | 2024-10-25 |
![]() |
[6798fd] Delete .github/workflows/self-hosted-build.yml |
nash_build_mgr | 2024-10-24 |
![]() |
[ce2e5e] Add all missing explicit type declarations |
src | 2024-10-25 |
![]() |
[0612c7] Command hinting now hints history |
.gitattributes | 2024-10-12 |
![]() |
[995709] Initial commit |
.gitignore | 2024-10-22 |
![]() |
[70c7b8] Started to add progress bar |
.qdrant-initialized | 2024-10-12 |
![]() |
[b7557c] Rewrote entire completion system and renamed to... |
Cargo.toml | 2024-10-24 |
![]() |
[d7dc78] Add TODOs, basic PS1 prompt customization |
LICENSE | 2024-10-12 |
![]() |
[995709] Initial commit |
README.md | 2024-10-25 |
![]() |
[0612c7] Command hinting now hints history |
install.sh | 2024-10-12 |
![]() |
[c8e39a] Error handling in installer |
ver | 2024-10-25 |
![]() |
[0612c7] Command hinting now hints history |
Nash is a simple shell written in Rust, attempting to provide a modern command-line experience with enhanced features and performance.
git clone https://github.com/barely-a-dev/Nash.git
cd Nash
chmod +x ./install.sh && ./install.sh
curl -L https://github.com/barely-a-dev/Nash/releases/download/<VERSION>/nbm -o nbm
chmod +x nbm
sudo ./nbm --setver recent
rm nbm
To update, simply run one of the following commands:
nbm --setver recent
nbm --setver v<VERSION_NUM>
nbm --update
nash --update
After installation, you can start Nash by typing nash
in your terminal. The more daring may make nash their default shell by running the following commands:
(Important note: Reminder that Nash is not yet feature rich or compatible with .sh files which expect Bash. Doing this WILL break many applications, or possibly your system. DO THE BELOW AT YOUR OWN RISK.)
1. Add nash to shells:
sudo nano /etc/shells
and add /usr/bin/nash to the list on a new line.
2. Change shells
chsh -s /usr/bin/nash
Enter your password and press enter.
3. Log out and log back in or restart. Nash will be your default shell.
--version
: Display the current version of Nash--update
: Check for updates and install if available (WIP, currently broken)-f, --force
: Force the update operation even if no new version is detected<script>
: Run the specified script file (experimental, use with caution)command > file
or command >> file
command1 | command2
command1 ; command2
$VAR_NAME
Nash is currently in early development (v0.0.9.7.4). While it's functional for basic use, many features are still being implemented or improved.
Contributions are welcome! Whether you're fixing bugs, improving documentation, or proposing new features, your help is appreciated. Here's how you can contribute:
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)If you're not sure where to start, check out the issues page for open tasks or bugs that need fixing.
The following features and improvements are planned for future releases:
(Note: "-" means WIP and but possibly partially implemented/unstable, while "/" means WIP but not public. ✔ of course means implemented.)
- [-] Environment variables management system
- [-] Enhanced command auto-completion
- [ ] Robust configuration system
- [ ] Quoting and escaping mechanisms
- [✔] Alias command support
- [ ] Scripting capabilities (if, elif, else, for, while, functions, variables)
- [ ] Wildcards and regex support
- [-] Enhanced command-line options
- [-] Improved argument handling for built-in commands
- [✔] Support for popular, complex commands and text editors (e.g., Nano, Vim)
- [\] Self-updating capability (instead in NBM, below)
- [✔] Build management system (accessible via nbm command)
0.1.0: Major bug fix and heavy testing. Will not be released for weeks or months.
1.0.0: The point when the project will be comparable to Bash.
Nash is a work in progress and may not be suitable for production use. Use at your own risk. The project is developed by an amateur, self-taught developer primarily experienced in C#; not Rust, the project's language. As such, the code quality may vary heavily.
For more information, bug reports, or feature requests, please visit the Nash GitHub repository.