Les syntaxes Bash et Vim à retrouver sans relire le cours.
Script Bash : chemin logique
#!/bin/bash # première ligne : interpréteur
chmod +x script.sh # donner le droit d'exécution
./script.sh # exécuter depuis le dossier courant
Besoin
Syntaxe
Rôle
Variable
nom="Axel"
Aucun espace autour de =.
Lire une variable
echo "$nom"
Les guillemets protègent la valeur.
Récupérer une commande
date_actuelle=$(date)
$(...) capture la sortie.
Calcul
resultat=$((x + y))
$((...)) produit un résultat numérique.
Arguments du script
$1, $2, $#, "$@"
Arguments, nombre d’arguments, tous les arguments.
Séparer sur une ligne
cmd1; cmd2
Le ; sépare deux commandes.
Conditions
Syntaxe
Quand l’utiliser
Exemple
[ ... ]
Test classique/POSIX
[ "$nom" = "Axel" ]
[[ ... ]]
Test Bash, plus sûr pour le texte
[[ $nom == "Axel" ]]
(( ... ))
Calcul ou comparaison d’entiers
(( age >= 18 ))
if [[ $nom == "Axel" ]]; then
echo "Bonjour Axel"
elif [[ -z $nom ]]; then
echo "Nom absent"
else
echo "Bonjour $nom"
fi
Test
Signification
-f fichier / -d dossier
Fichier ordinaire / dossier existant.
-e chemin
Le chemin existe.
-z "$texte" / -n "$texte"
Chaîne vide / non vide.
-eq -ne -lt -le -gt -ge
Comparaisons numériques dans [ ] ou [[ ]].
Fonctions : paramètres et valeur produite
# Le mot-clé function est autorisé mais facultatif.
function add {
local x=$1
local y=$2
echo $((x + y))
}
added_to() {
local x=$1
local y=$2
local who=$3
echo "$who retourne $(add "$x" "$y")"
}
message=$(added_to 4 5 "Axel")
echo "$message" # Axel retourne 9
Syntaxe
À retenir
fonction() { ...; }
Forme sans function ; sur une ligne, ; est requis avant }.
$1, $2, $3
Paramètres reçus par position.
echo "$valeur"
Produit une donnée récupérable avec $(...).
return 0
Renvoie un code d’état : 0 = succès, autre valeur = erreur.
Vim : commandes par mode
Réflexe :Échap ramène toujours au mode normal.
Mode normal — se déplacer et agir
Besoin
Commande
Déplacement
h gauche · j bas · k haut · l droite
Début / fin de ligne
0 / $
Copier / couper une ligne
yy / dd
Coller / annuler
p / u
Chercher
/mot, puis n
Mode insertion — écrire
Commande
Effet
i / a
Insérer avant / après le curseur.
o
Créer une ligne en dessous.
Échap
Revenir au mode normal.
Mode visuel — sélectionner plusieurs caractères ou lignes
Besoin
Commande
Action après sélection
Sélection sur une même ligne
v puis déplacement
y copier · d couper · c remplacer
Plusieurs lignes entières
V puis j/k
>/< indenter/désindenter
Bloc vertical
Ctrl+V puis déplacement
I, texte, Échap : insérer sur chaque ligne
Mode commande — enregistrer et quitter
Commande
Effet
:w
Enregistrer.
:q
Quitter.
:wq
Enregistrer et quitter.
:q!
Quitter sans enregistrer.
CKAD/YAML : pour corriger l’indentation de plusieurs lignes : V → sélectionner avec j/k → > ou <.