Shell Programs That Run Under OSH - oils-for-unix/oils GitHub Wiki
See also:
- How To Test OSH
- What Is Expected to Run Under OSH
- The Biggest Shell Programs in the World
- Gradually Upgrading Shell to Oil
Already Tested
- Success with Aboriginal, Alpine, and Debian Linux -- huge shell scripts in Linux distros.
- Success With the Interactive Shell
- my fork of bash-completion (see How To Test OSH)
- git-prompt.sh
- virtualenv
- Pure shell programs
- Lisp and Brainfuck intepreters
- JSON parsers
- rustup.sh
- The whole OSH release process, which is thousands of lines of our own shell scripts (dogfoods the strict modes)
eval $(starship init bash)
- but
checkwinsize
not implemented
- but
If you manage to run any scripts with OSH, edit this page!
Also see Issue #161: Test OSH on Real Shell Scripts
Patched Upstream
- neofetch, which is one of the biggest shell programs in the world. Thanks
Crestwave
for working on this and debugging it! It led to many good fixes in Oil.- The patch was not too big.
shopt -s nocasematch
was one of the main issues.
- The patch was not too big.
Tested by Maintainer
- lhoursquentin/clash. Object-oriented Programming in Shell.
- mkconfig. Portable Bourne Shell build configuration suite.
Ideas for Programs That Could Be Tested
- Anything under https://github.com/oilshell/oil/labels/should-run-this
- Any of these bats test suites! https://github.com/sstephenson/bats/wiki/Projects-Using-Bats
- Tests suites using any other unit test frameworks
- Shell scripts from any distro
- Arch Linux and Gentoo use bash a lot, I believe
Links
- Some interesting shell programs I found on lobste.rs / Reddit
- https://github.com/trimstray/htrace.sh -- for HTTP/HTTPS troubleshooting
- https://github.com/cfenollosa/bashblog -- static site generator
- https://lobste.rs/s/v8kiyh/pranking_bash_binary -- these will probably test many corners of the shell
- https://news.ycombinator.com/item?id=19237527 -- Enquire: Everything you wanted to know about your C compiler and machine
- https://warwick.ac.uk/fac/sci/statistics/staff/academic-research/firth/software/pdfjam/ - PDFjam is a small collection of shell scripts which provide a simple interface to much of the functionality of the excellent pdfpages PDF file package
- https://news.ycombinator.com/item?id=18290344 -- A terminal file manager written in bash
Libraries
- BATS test framework (issue 238)
Interactive Programs
- nix-profile ? You're supposed to
source
it, like you do withbin/activate
in virtualenv.
Virtual Machines
chsh
to OSH and try to boot Ubuntu or some other distro.
Completion Scripts
- clang completion
- npm completion
- Scripts generated by Python's argcomplete (based on argparse)
- AWS completion
- They have bash but not fish? https://stackoverflow.com/questions/26981542/aws-cli-command-completion-with-fish-shell