You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
JustBash.Fs and JustBash.Fs.InMemoryFs are replaced by JustBash.FS / JustBash.FS.Memory with vfs-shaped returns ({:ok, payload, fs} on reads, %VFS.Error{} on failure, %VFS.Stat{} from stat). Bash-level script behavior is unchanged.
Features
add JustBash.CLI for namespaced subcommand tools (#39) (2761adf)
add put_context/3 and get_context/3 accessors (#41) (2c6e6b7)
cli: address consumer feedback from issue #38 (#43) (7d84244)
replace the filesystem layer with the vfs library (#44) (1da1db8)
Bug Fixes
/dev/null exists as a filesystem node so operands agree with redirects (#78) (#93) (8619ada)
a CLI flag rejects unknown spec keys and accepts extra long spellings (#71) (83af599)
a command whose redirect fails does not run at all (#60) (025673c)
a flag a command does not implement is an error, not a filename (#72) (9aab27a)
a trailing slash on a destination requires a directory instead of overwriting the file it names (#75) (5de39ef)
awk's empty for(;;) condition is true, matching gawk (#87) (ca5c918)
bound ${v//pat/rep} so global replace cannot OOM (#97) (f2beeb9)
bound value size so doubling cannot blow past max_wall_ms (#85) (55c0f50), closes #77
cp into a directory, and make cp -r actually copy (#57) (7d73837)
date implements %F and -I instead of emitting them literally (#63) (274e86b)
date rejects unknown arguments instead of returning today at exit 0 (#66) (fd2bb2c)
empty path operands are ENOENT, not the current directory (#95) (2e73917)
exec/2 returns a shell result instead of raising, and always terminates (#73) (3b9be0d)
find and jq honour -- as end-of-options (#90) (#98) (0077d63)