Skip to content

jajimajp/rusty_bash

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rusty Bash

may be a clone of Bash.

how to try it

$ git clone https://github.com/shellgei/rusty_bash.git
$ cd rusty_bash
$ cargo build --release
$ ./target/release/rusty_bash 

Rusty Bash reads .rusty_bashrc in your home directory if it exists.

list of features

  • ✔️ :available
  • 🚧 :partially available (or having known bugs)
  • 🙅 : not implemented

compound commands

features status features status features status
if ✔️ while ✔️ () ✔️
{} ✔️ case 🚧 until 🙅
for 🙅 (()) 🚧 [[]] 🙅

control operator

features status features status features status
|| ✔️ && ✔️ ; ✔️
;; ✔️ | ✔️ & 🚧
|& 🙅

options

features status features status features status
i ✔️ x 🚧: v 🚧:

special parameters and position parameters

features status features status features status
* ✔️ @ ✔️ ? ✔️
- ✔️ 0 ✔️ 1, 2, 3, ... ✔️
# ✔️ $ ✔️ ! 🙅
_ ✔️

builtin commands

features status features status features status
cd ✔️ pwd ✔️ read ✔️
exit ✔️ source ✔️ set 🚧
shopt 🚧 : ✔️ . ✔️
alias ✔️ bg 🙅 bind 🙅
break 🙅 builtin ✔️ caller 🙅
command 🙅 compgen 🙅 complete 🙅
compopt 🙅 continue 🙅 declare 🙅
dirs 🙅 disown 🙅 echo 🙅
enable 🙅 eval ✔️ exec 🙅
fc 🙅 fg 🙅 getopts 🙅
hash 🙅 help 🙅 history 🚧
jobs 🚧 kill 🙅 let 🙅
local 🙅 logout 🙅 mapfile 🙅
popd 🙅 printf 🙅 pushd 🙅
read 🙅 readonly 🙅 return 🚧
shift ✔️ suspend 🙅 test 🙅
times 🙅 trap 🙅 true ✔️
type 🙅 typeset 🙅 ulimit 🙅
umask 🙅 unalias 🙅 unset 🙅
wait 🚧 export 🚧 false ✔️

variables

features status features status features status
OLDPWD ✔️ PWD ✔️ BASH 🙅
BASHOPTS 🙅 BASHPID 🙅 BASH_ALIASES 🙅
BASH_ARGC 🙅 BASH_ARGV 🙅 BASH_ARGV0 🙅
BASH_CMDS 🙅 BASH_COMMAND 🙅 BASH_EXECUTION_STRING 🙅
BASH_LINENO 🙅 BASH_LOADABLES_PATH 🙅 BASH_REMATCH 🙅
BASH_SOURCE 🙅 BASH_SUBSHELL 🙅 BASH_VERSINFO 🙅
BASH_VERSION 🙅 COMP_CWORD 🙅 COMP_KEY 🙅
COMP_LINE 🙅 COMP_POINT 🙅 COMP_TYPE 🙅
COMP_WORDBREAKS 🙅 COMP_WORDS 🙅 COPROC 🙅
DIRSTACK 🙅 EPOCHREALTIME 🙅 EPOCHSECONDS 🙅
EUID 🙅 FUNCNAME 🙅 GROUPS 🙅
HISTCMD 🙅 HOSTNAME 🙅 HOSTTYPE 🙅
LINENO 🙅 MACHTYPE 🙅 MAPFILE 🙅
OPTARG 🙅 OPTIND 🙅 OSTYPE 🙅
PIPESTATUS 🙅 PPID 🙅 RANDOM 🙅
READLINE_LINE 🙅 READLINE_POINT 🙅 REPLY 🙅
SECONDS 🙅 SHELLOPTS 🙅 SHLVL 🙅
UID 🙅 BASH_COMPAT 🙅 BASH_ENV 🙅
BASH_XTRACEFD 🙅 CDPATH 🙅 CHILD_MAX 🙅
COLUMNS 🙅 COMPREPLY 🙅 EMACS 🙅
ENV 🙅 EXECIGNORE 🙅 FCEDIT 🙅
FIGNORE 🙅 FUNCNEST 🙅 GLOBIGNORE 🙅
HISTCONTROL 🙅 HISTFILE 🙅 HISTFILESIZE 🙅
HISTIGNORE 🙅 HISTSIZE 🙅 HISTTIMEFORMAT 🙅
HOME 🙅 HOSTFILE 🙅 IFS 🚧
IGNOREEOF 🙅 INPUTRC 🙅 INSIDE_EMACS 🙅
LANG 🙅 LC_ALL 🙅 LC_COLLATE 🙅
LC_CTYPE 🙅 LC_MESSAGES 🙅 LC_NUMERIC 🙅
LC_TIME 🙅 LINES 🙅 MAIL 🙅
MAILCHECK 🙅 MAILPATH 🙅 OPTERR 🙅
PATH ✔️ POSIXLY_CORRECT 🙅 PROMPT_COMMAND 🙅
PROMPT_DIRTRIM 🙅 PS0 🙅 PS1 🙅
PS2 🙅 PS3 🙅 PS4 🙅
SHELL 🙅 TIMEFORMAT 🙅 TMOUT 🙅
TMPDIR 🙅 auto_resume 🙅 histchars 🙅

others

features status
coproc 🙅

thanks to

Partially in Japanese.

About

bash written with Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 86.4%
  • Shell 13.6%