BASH_SCRIPTING_ENGINE
SHELL_TYPE: /bin/bash01_Basics_Vars
#!/bin/bash- ShebangVAR="val"- Déclarer variable${VAR}- Accéder variablereadonly V- Constanteunset V- Suppr variableexport V- Dispo pour sous-processenv- Lister vars d'env${V:-"def"}- Valeur par défaut${#V}- Longueur string${V:0:3}- Substring (0 à 3)
02_Special_Params
$0- Nom du script$1 .. $9- Arguments 1 à 9$#- Nombre d'arguments$@- Tous les arguments$?- Code retour (0=OK)$$- PID du script actuel$!- PID dernier process bgshift- Décale les arguments
03_Conditions
[[ $A == $B ]]- Égalité string[[ $A != $B ]]- Inégalité[[ -z $V ]]- Est vide ?[[ -n $V ]]- N'est pas vide ?[[ -f $F ]]- Est un fichier ?[[ -d $D ]]- Est un dossier ?[[ -x $F ]]- Est exécutable ?(( A > B ))- Comparaison math[[ A && B ]]- Opérateur AND[[ A || B ]]- Opérateur OR
04_Loops
for i in {1..5}; do- Range loopfor f in *.sh; do- File loopwhile [[ cond ]]; do- Tant queuntil [[ cond ]]; do- Jusqu'à ce quebreak- Sortir bouclecontinue- Sauter itérationread -r line- Lire inputdone- Fin de boucle
05_Math_Arrays
(( A = 5 + 2 ))- Addition(( A++ ))- Incrémentbc <<< "scale=2; 5/2"- Float mathARR=(a b c)- Créer array${ARR[0]}- Index 0${ARR[@]}- Tous les items${#ARR[@]}- Taille arrayARR+=("d")- Ajouter item
06_Functions
func_name() { ... }- Définirlocal V="x"- Var localereturn 0- Code retourecho "res"- "Retourner" stringfunc "$1"- Appeler avec arg
07_Streams
> file- Écraser stdout>> file- Appendre stdout2> /dev/null- Muet stderr&> file- Stdout+Stderr|- Pipe (Std out to in)< <(cmd)- Process substitution<< EOF- Here document2>&1- Stderr vers Stdout
08_Patterns
set -e- Stop si erreurset -x- Debug mode (trace)trap "cmd" EXIT- Cleanup à la finbasename "$0"- Nom du scriptdirname "$(readlink -f "$0")"- Dir absoluegetopts "ab:" OPT- Parser flags
09_Case_Statement
case "$1" in
start) systemctl start srv ;;
stop) systemctl stop srv ;;
*) echo "Usage: $0 {start|stop}" ;;
esac
10_String_Manipulation
${V/src/dst}- Remplacer 1ère occurence${V//src/dst}- Remplacer toutes${V#*.}- Suppr prefix court${V##*.}- Suppr prefix long${V%.*}- Suppr suffix court