mirror of
https://github.com/MaksTinyWorkshop/_Assistant_Lead_Tech
synced 2026-04-06 21:41:42 +02:00
fix(scripts): capturer CSV via fichier tmp — évite la perte du buffer expect sur Linux
This commit is contained in:
@@ -28,23 +28,27 @@ _load_global_secrets() {
|
||||
|
||||
echo "Chargement des secrets globaux..." >&2
|
||||
|
||||
# Export CSV complet — une seule ouverture du coffre
|
||||
local csv
|
||||
csv=$(KDBX_PASSWORD="$KDBX_PASSWORD" SECRETS_KDBX="$SECRETS_KDBX" expect <<'EOF'
|
||||
# Export CSV complet — via fichier temporaire pour capturer tout le stdout
|
||||
local tmpfile
|
||||
tmpfile=$(mktemp)
|
||||
KDBX_PASSWORD="$KDBX_PASSWORD" SECRETS_KDBX="$SECRETS_KDBX" TMPFILE="$tmpfile" expect <<'EOF'
|
||||
log_user 0
|
||||
set timeout 30
|
||||
set fh [open $env(TMPFILE) w]
|
||||
spawn keepassxc-cli export --format csv $env(SECRETS_KDBX)
|
||||
expect "Saisir le mot de passe pour déverrouiller*"
|
||||
send -- "$env(KDBX_PASSWORD)\r"
|
||||
expect eof
|
||||
puts $fh $expect_out(buffer)
|
||||
close $fh
|
||||
catch wait result
|
||||
puts -nonewline $expect_out(buffer)
|
||||
exit [lindex $result 3]
|
||||
EOF
|
||||
) || {
|
||||
echo "Impossible d'exporter le coffre." >&2
|
||||
return 1
|
||||
}
|
||||
local rc=$?
|
||||
local csv
|
||||
csv=$(cat "$tmpfile")
|
||||
rm -f "$tmpfile"
|
||||
[ $rc -ne 0 ] && { echo "Impossible d'exporter le coffre." >&2; return 1; }
|
||||
|
||||
# Parser le CSV avec python3 — gère les champs multilignes et les virgules dans les valeurs
|
||||
# On cherche la ligne d'en-tête CSV pour ignorer le bruit du buffer expect
|
||||
|
||||
Reference in New Issue
Block a user