Skip to content
B. van Berkum edited this page Sep 8, 2022 · 9 revisions

Bourne shell compatible scripts.

Primary objective: group sh-compat scripts together, in sensible modules, and provide for distribution mechanism.

Secondary objective: provide configuration and transpilation scripts, create Bash variants from sources, toggle features.

Topics to cover:

  • Provisioning
  • Versioning
  • Packaging
  • Testing
  • Analysis
  • Distribution

Log (recent first)

  • [2019-01-26] Started notes on sentinels for pre-processing.

  • [2018-11-23] Sorting objectives per U-S lib in Features and doc/<wiki-name>.md.

  • [2018-11-20] Favor standards beside Sh, ie. cpp, make, readline, m4, configure. Avoid locking into package (ie. bashisms). Maybe do evaluation and write up specs of one of those, for now have added main points of eval of the cpp </doc/dev/pre-processor>.

  • [2018-11-14] Made some more design points, working on tooling setup and docs structure a bit. Some initial design points:

    • Distribution using vanilla GIT. Composure has no help here. Maybe use VC abstraction (at some point).
    • Composure uses AST to store metadata. Using vars and naming conventions seems like a good alternative to me.
    • Provide a GIT (plus other modern SCM) framework for code versioning workflows
  • TODO: Have a gander at https://github.com/timurb/shell-test-frameworks

  • [2018-10-17] Committed initial "Home" doc.

  • [2018-08-24] Shell history but better.

  • Recent updates: ChangeLog

  • Planning and progress: Dev Docs

See also

  • Composure, 7 basic shell functions to rule them all: draft, revise and others to create new functions from the last shell history and use the Bash AST to store metadata. Distribution using vanilla GIT.

  • commandlinefu.com, like the now-defunct alias.sh, share snippets (public only) with an online community.

  • Explainshell, an online and now/almost CLI tool too for getting all the manpage bits for a given shell invocation or pipeline.

  • client9/shlib, another random set of sh functions.

Interwiki for User-Scripts (About)
Repo Wiki
core/master wiki
- forks/bvb-dev wiki

Clone this wiki locally