Skip to content

ashpil/rush

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rush - the really uninteractive shell

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.

pretty demo

// TODO:

  • 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
  • Async execution &
  • Shell builtins
    • Normal built-ins
      • alias unalias
      • cd
      • etc
    • Special built-ins
      • exit
      • export
      • exec
      • etc
  • Expansions
    • Tilde expansion ls ~
    • Parameter expansion
      • Basic expansion echo ${var:-other}
      • String length echo ${#var}
      • Suffix/prefix removal echo ${var%%pattern}
    • Command substitution
    • Arithmetic expansion
  • Variables
  • Quotes
  • IFS
  • Functions
  • Control flow if for while case etc
  • Expand this to-do list

Decisions to make

  • Should this shell replicate commands that are typically built-in but also have system alternatives?

Releases

No releases published

Packages

No packages published

Languages