Tree @master (Download .tar.gz)
Moulti example scripts
This directory contains example scripts that demonstrate various features and uses of Moulti.
Descriptions:
- debian-upgrade: assume the underlying host is Debian-based and upgrade it using apt
- many-buttons: display two steps with numerous buttons
- pass-concurrency: display 8 (actually $MOULTI_PASS_CONCURRENCY
) steps running ping localhost
concurrently
- progressbar: track the generation of 10 SSH keys using a progress bar
- python-checks: run linters on Moulti code; to be executed from the parent directory
- social-preview: display 4 steps using toilet, ping and bat -- used to generate Moulti's social preview picture
Compatibility matrix
Linux | macOS | FreeBSD | NetBSD | OpenBSD | |
---|---|---|---|---|---|
debian-upgrade | ⚠️ [1] | ❌ | ❌ | ❌ | ❌ |
many-buttons | ✅ | ✅ | ✅ | ✅ | ✅ |
needle-haystack | ✅ | ✅ | ✅ | ✅ | ✅ |
pass-concurrency | ✅ | ✅ | ✅ | ✅ | ✅ |
progressbar | ✅ | ✅ | ✅ | ✅ | ✅ |
python-checks | ✅ | ✅ | ✅ | ✅ | ✅ |
social-preview | ✅ | ✅ | ✅ | ✅ | ✅ |
[1] Debian-based distributions only
Contributions
Contrib example scripts are welcome provided they pass the following check list:
- [ ] bash or zsh
- [ ] reasonable dependencies
- [ ] no significant
shellcheck
warning - [ ] portability: contrib examples should run on at least two of the target platforms
- [ ] use
moulti_check_requirements()
to ensure all external tools are available
History of examples @master
- Introduce snapshot-based tests. Xavier G. 4 days ago
- Examples: add moulti-needle-haystack.bash. Xavier G. 3 months ago
- Introduce moulti manpage. Xavier G. 6 months ago
- Bash functions: moulti_process_lines: close fd. Xavier G. 6 months ago
- Examples: add README. Xavier G. 7 months ago
- Examples: fix shellcheck warnings. Xavier G. 7 months ago
- Examples: rename two scripts for harmonisation purposes. Xavier G. 7 months ago
- Bash functions: fix two shellcheck warnings. Xavier G. 7 months ago
- Bash functions: add stdbuf() for NetBSD and OpenBSD. Xavier G. 7 months ago
- Examples: adjust xargs command. Xavier G. 7 months ago
- Bash functions: moulti_iso_date(): leverage gdate if available. Xavier G. 7 months ago
- Bash functions: improve moulti_iso_date. Xavier G. 7 months ago
- setup.py: deploy moulti-functions.bash Xavier G. 7 months ago
- Examples: leverage moulti_check_requirements. Xavier G. 7 months ago
- Bash functions: introduce moulti_check_requirements. Xavier G. 7 months ago
- Bash functions: introduce moulti_process_lines. Xavier G. 7 months ago
- Examples: adjust progressbar.bash for the sake of portability. Xavier G. 7 months ago
- Bash functions: improve moulti_python. Xavier G. 7 months ago
- Bash functions: do not depend on GNU date. Xavier G. 7 months ago
- programmatic scrolling: add scroll-on-activity. Xavier G. 8 months ago
- Bash functions: run only moulti_delayed_collapse in the background. Xavier G. 8 months ago
- buttonquestion: introduce a better layout. Xavier G. 9 months ago
- Documentation: explain how to use the progress bar. Xavier G. 9 months ago
- Bash functions: compute and display step duration. Xavier G. 9 months ago
- pylint: move configuration to pyproject.toml. Xavier G. 9 months ago
- Use double-dash (--) in all "moulti run" commands. Xavier G. 9 months ago
- Examples: upgrade-system.bash: adjust collapse behavior. Xavier G. 10 months ago
- Examples: upgrade-system.bash now showcases buttonquestion. Xavier G. 10 months ago
- Examples: add moulti-pass-concurrency.bash. Xavier G. 10 months ago
- Introduce MOULTI_PASS_CONCURRENCY. Xavier G. 10 months ago