Regeln, Standards, Kontextstruktur und Werkzeuge übernommen; 2nd-brain- Inhalte (Stacks, Ansible-Inventar, Architektur, Knowledge) entfernt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
59 lines
2.0 KiB
Bash
Executable File
59 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
#-------------------------------------------------------------------------------
|
||
## @file script_template.sh
|
||
## @brief <Was das Script tut – ein Satz>
|
||
## @author <AUTOR – aus ai/context/responsible.md>
|
||
## @owner <VERANTWORTLICH – aus ai/context/responsible.md>
|
||
## @assist <optional: KI-unterstützt (Modell), geprüft von AUTOR>
|
||
## @version 0.1.0 (TT.MM.JJJJ)
|
||
##
|
||
## @usage script_template.sh [Optionen] <ziel>
|
||
## @options
|
||
## @OPTIONS@
|
||
## @env .env neben dem Script (Vorlage: .env.example)
|
||
## @exit 0 = ok · 1 = Fehler · 2 = Aufruffehler
|
||
#-------------------------------------------------------------------------------
|
||
set -Eeuo pipefail
|
||
|
||
# --- Bootstrap (unverändert lassen) -------------------------------------------
|
||
SCRIPT_PATH="$(readlink -f -- "${BASH_SOURCE[0]}")"
|
||
SCRIPT_DIR="${SCRIPT_PATH%/*}"
|
||
SCRIPT_NAME="${SCRIPT_PATH##*/}"
|
||
# shellcheck source=_functions.sh
|
||
source "${SCRIPT_DIR}/_functions.sh" || { echo "FEHLER: ${SCRIPT_DIR}/_functions.sh fehlt" >&2; exit 1; }
|
||
|
||
# Script-eigene Optionen; -h -d -q -n -l kommen automatisch aus _functions.sh
|
||
B_OPTS+=(
|
||
"f|force|flag|0|vorhandene Ziele überschreiben"
|
||
"o|outdir|value:DIR|out|Zielverzeichnis (relativ = zum Script)"
|
||
)
|
||
b_init "$@"
|
||
set -- "${ARGS[@]}"
|
||
|
||
#===============================================================================
|
||
# Funktionen
|
||
#===============================================================================
|
||
|
||
## @brief Aufräumen beim Beenden (vom EXIT-Trap aufgerufen, auch bei Fehlern)
|
||
## @param $1 Exit-Code des Scripts
|
||
## @return 0
|
||
cleanup() {
|
||
return 0
|
||
}
|
||
|
||
## @brief Hauptablauf
|
||
## @param $1 Ziel
|
||
## @return 0 ok, 1 Fehler
|
||
main() {
|
||
(( $# == 1 )) || bdie "Genau ein <ziel> erwartet" 2
|
||
local target="$1" outdir
|
||
outdir="$(b_abspath "$OPTION_OUTDIR")"
|
||
|
||
becho "Ziel: ${target} → ${outdir}"
|
||
[[ -e "$outdir" && "$OPTION_FORCE" != 1 ]] && { berror "$outdir existiert (--force zum Überschreiben)"; return 1; }
|
||
brun mkdir -p -- "$outdir"
|
||
return 0
|
||
}
|
||
|
||
main "$@"
|