fix: harden installer symlink logic and interactive sourcing #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/installer-strict-mode"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Härtet zwei Stellen, die beim Wechsel auf einen env-basierten OpenRouter-Key aufgefallen sind.
bin/install-claude-profiles– Symlink-Logik (D7)Die bisherige Prüfung
[[ ! -e "$TARGET_REPO" ]]folgt dem Link und kann einen kaputten Symlink nicht von einem freien Pfad unterscheiden. Das führt zu drei Problemszenarien:ln -sscheitert („File exists") →set -ebricht die Installation abln -sfnhängt auf das neue Ziel umNeue Logik mit Fallunterscheidung
-L(Symlink, ohne Verfolgung) /-e(existiert) /else(frei).lib/profiles.sh– strikter Modus nur nicht-interaktiv (E8)set -euo pipefailwar am Dateianfang global aktiv. Wer die Datei zum Debuggen in einer interaktiven Shellsourcet, bekommterrexit/pipefailin seine Session gezwängt. Jetzt:[[ $- == *i* ]] || set -euo pipefail– streng bleibt streng beim Aufruf überbin/claude-profile, interaktiv wird die Session nicht angefasst.Tests
claudeverifiziert.HOMEdurchgespielt, alle verhalten sich wie in der Tabelle.