feat(bash): add self-contained help extraction script
All checks were successful
Auto Changelog & (Release) / release (push) Successful in 7s
All checks were successful
Auto Changelog & (Release) / release (push) Successful in 7s
- Introduces a Bash script showcasing embedded help text extraction - Implements a `show_help` function utilizing `sed` for parsing comments - Supports `--help` and `--verbose` options for enhanced usability
This commit is contained in:
52
snippets/bash/show_help.sh
Normal file
52
snippets/bash/show_help.sh
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env bash
|
||||
# show_help.sh – Example Bash script with embedded help section
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
# Use this snippet as a pattern for Bash scripts that include their own help text
|
||||
# inside comment blocks. The `show_help` function will extract the lines between
|
||||
# `#=== HELP START ===` and `#=== HELP END ===`, strip the leading `#` and output
|
||||
# a clean help message.
|
||||
|
||||
# ─────────────────────────────────────────────────────────────
|
||||
|
||||
show_help() {
|
||||
sed -n '/^#=== HELP START ===/,/^#=== HELP END ===/ {
|
||||
/^#=== HELP START ===/d
|
||||
/^#=== HELP END ===/d
|
||||
s/^# *//
|
||||
p
|
||||
}' "$0"
|
||||
}
|
||||
|
||||
# --- Example usage of the show_help function ---
|
||||
|
||||
#=== HELP START ===
|
||||
# Example Script
|
||||
#
|
||||
# Usage:
|
||||
# ./show_help.sh [options]
|
||||
#
|
||||
# Options:
|
||||
# -h, --help Show this help message and exit
|
||||
# -v, --verbose Enable verbose output
|
||||
#
|
||||
# Description:
|
||||
# This is an example of how to embed a self-contained help
|
||||
# section in a Bash script using a simple sed-based extractor.
|
||||
#=== HELP END ===
|
||||
|
||||
# ─────────────────────────────────────────────────────────────
|
||||
|
||||
# Main entrypoint
|
||||
case "$1" in
|
||||
-h|--help)
|
||||
show_help
|
||||
exit 0
|
||||
;;
|
||||
-v|--verbose)
|
||||
echo "Verbose mode enabled"
|
||||
;;
|
||||
*)
|
||||
echo "Run with --help for usage."
|
||||
;;
|
||||
esac
|
Reference in New Issue
Block a user