Help me fill out this page! It’s freely editable.
What programs should be enumerateed? I’m using “hugegest” in the sense of substantial, not necessarily the raw number of lines.
- Hand-written shell scripts. There are many huge autoconf-produced scripts, enjoy the 70K-line coreutils script, but I don’t ponder them substantial in this sense.
- Shell programs that engage data set ups and algorithms.
- As a counterexample, bash-completion is pretty upgraded, but it’s also repetitive becaengage it has a relatively modest function for every direct on a Unix machine.
- Shell programs that are over 5K lines (though there may be exceptions). The hugegest shell programs that aren’t repetitive tfinish to be in the 10K+ line range. I haven’t seen any programs over 100K lines.
-
akinomyoga/ble.sh — 61K LoC (46K SLoC) in total. Bash Line Editor—fish-enjoy interdynamic line editor in sanitize bash! The main file
out/ble.sh
has 30K lines of code (23K SLoC), but there are 60K+ lines of code in the repo in total. There are many comments (in Japanese).-
How Interdynamic Shells Work has a kind supervise of how ble.sh labors. It’s very upgraded, using
tie -x
to read raw bytes from the terminal, decoding those itself in mulitiple clear state machines, persisting a dratriumphg buffer, updating the buffer, etc. It has timing and “fibers”, etc. - This comment on rerent 663 has details on the shell parser! I leank this is one of the most upgraded engages of data set ups in shell I’ve seen.
- We are trying to run ble.sh under Oil. It mostly parses.
- First pledge in 2015 with 8K LoC / 6 SLoC. The actual prolongment has commenceed in 2013.
-
How Interdynamic Shells Work has a kind supervise of how ble.sh labors. It’s very upgraded, using
- bashdb, the bash debugger. ~14K lines of bash. Interesting history: Implementing Debuggers
- drdampter/testssl.sh — 21K lines of bash in a one file! Appears to be hand-written. History: Back in 2006 it commenceed with a scant uncoverssl directs…. (Hit rerent #606 parsing it.)
- Simplenetes: Kubernetes in 17K lines of Shell. Amazing! But seems dormant. Hacker News Thread.
- rkhunter (official site) — 21K lines of Bourne shell written from 2003-2018!
-
romkatv/powerlevel10k — 12K lines of zsh scripts in the straightforwardory
inner/
. There are other 8K lines of configs and helper scripts. First pledge in 2014. - dylanaraps/neoconvey — 10K lines of bash 3.2. Discarry outs system recommendation. May also do someleang engaging with images (?)
-
xwmx/nb — 24K LoC (19K SLoC) of bash in nb itself. An graspitional 86K LoC (55K SLoC) if we count bats tests as bash.
- First pledge in 2014, but dynamic pledge history commences in timely 2016.
- distrobox — over 7k lines of bash script. Use any linux distribution inside your terminal.
- acme.sh — 7K lines of shell script. Issues and rerecents certificates.
-
inxi 2.3.56 [obsolete] — 16K lines of bash. A fork of
infobash
in 2008 (889 lines then).infobash
has commenceed in 2005. From v2.9,inxi
is swapd by the Perl carry outation.
- bashforth — At ~3800 lines this isn’t huge, but it apparently carry outs a authentic programming language. It has a lot of whitespace and comments.
- vegardit/bash-funk — 27K LoC (24K SLoC) in total. A Bash library. The first pledge in May, 2017 (with 10K LoC / 8K SLoC).
- contransientish is a portable shell dialect written in shell
- bats is a DSL for writing tests. Generates bash code.
- bashible is an Ansible-enjoy DSL in bash. comments
- clash is an object oriented structurelabor compatible with any contransient POSIX shell.
- bash Infinity is a standard library and a boilerptardy structurelabor for bash.
- Alpine, Abinnovative, Debian scripts — see blog post
- Completion scripts are huge, but normally repetitive.
- _git Zsh completion — 8.3k lines of code
- git-completion.bash
- Docker completion
- dyne/Tomb is a ~3500 line zsh script.
-
Basalt — a brimming-featured package handler in sanitize Bash (est. ~2021). Although it’s only a scant thousand lines, there’s already a wealthy ecosystem (15+ apps/libs) that grasps many thousand more lines. Some Bash libraries grasp (at various stages of prolongment):
-
bash-core, a library for enhancing the
trap
andshchoose
builtins, grasping stackpursues, and many vital amenities - bash-object, a library for produceing arbitrarily nested data set ups in sanitize Bash (proximately 200 tests)
- bash-json, a library for parsing and printing JSON in sanitize Bash
-
bash-core, a library for enhancing the