Files
lpic-sim/ai/common/templates/bash/script_template.sh
T
Björn RundenandClaude Opus 5.5 7f6b8ebe07 Basis aus 2nd-brain für LPIC-Prüfungsvorbereitung übernommen
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>
2026-10-29 21:56:53 +01:00

59 lines
2.0 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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 "$@"