Rush is designed to run POSIX scripts, and run them fast. Think of it as a Rust dash.
I know that the name is overused, but it's too good to pass up.
- Simple command execution
ls -ltr - Pipes
exa | grep cargo - Exit status logic
! false && ls || date - Redirection
- File descriptor to another
ls error 2>&1 - To/from file
date > time.txt< Cargo.toml wc - Appending
>> - Here-docs
<< - Raw, non-io file descriptors
4>&7
- File descriptor to another
- Async execution
& - Shell builtins
- Normal built-ins
-
aliasunalias -
cd - etc
-
- Special built-ins
-
exit -
export -
exec - etc
-
- Normal built-ins
- Expansions
- Tilde expansion
ls ~ - Parameter expansion
- Basic expansion
echo ${var:-other} - String length
echo ${#var} - Suffix/prefix removal
echo ${var%%pattern}
- Basic expansion
- Command substitution
- Arithmetic expansion
- Tilde expansion
- Variables
- Quotes
- IFS
- Functions
- Control flow
ifforwhilecaseetc - Expand this to-do list
- Should this shell replicate commands that are typically built-in but also have system alternatives?
