Snippets

Du code concis, avec une explication claire.

bash

zypper (openSUSE): installer et verrouiller une version

Installer un paquet et bloquer ses mises à jour avec zypper.

#zypper#opensuse#package
bash

awk: extraire et agréger des colonnes

Extraire des champs, filtrer et agréger des lignes (compte, somme, moyenne) rapidement avec awk.

#awk#text#cli
bash

base64: encoder et décoder en ligne de commande

Encoder/décoder du texte ou des fichiers en base64 de façon portable (Linux/macOS) sans retours à la ligne.

#base64#encode#decode
bash

bash: chemin du script courant fiable

Obtenir le dossier du script (résolution de symlinks) pour charger des fichiers voisins en toute sécurité.

#bash#path#script
bash

bash: parse args avec getopts (cli robuste)

Parser des options courtes/longues, flags et valeurs obligatoires avec usage clair et validations.

#bash#getopts#cli
bash

bash: history sécurisé et effacement ciblé

Éviter d'enregistrer des secrets, effacer une ligne, sessions éphémères, timestamps et droits du fichier.

#bash#history#security
bash

bash: lire un fichier ligne par ligne sans pièges

Lire chaque ligne exactement telle qu'écrite (espaces, backslashes) sans subshell ni pertes.

#bash#read#mapfile
bash

bash: xtrace horodaté vers fichier

Activer set -x avec PS4 enrichi (timestamp, script, ligne, fonction) et rediriger vers un log dédié.

#bash#xtrace#debug
bash

bash strict mode sécurisé

Activer un mode bash robuste pour échouer vite et éviter les pièges.

#bash#securite#robustesse
bash

bash: trap cleanup et signaux

Nettoyer et terminer proprement avec trap: cleanup, ERR, EXIT et signaux INT/TERM.

#bash#trap#signals
bash

chattr: protéger des fichiers en immutable

Empêcher toute modification/suppression avec chattr +i/+a: configs critiques, logs, répertoires sensibles.

#chattr#immutable#append
bash

charger un fichier .env de façon sûre

Charger un .env sans eval ni source arbitraire: parsing clé=valeur, quotes optionnelles, CRLF, whitelist.

#dotenv#env#config