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
-
alias
unalias
-
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
if
for
while
case
etc - Expand this to-do list
- Should this shell replicate commands that are typically built-in but also have system alternatives?