Table des matières

Bash

Chaque fichier commence par le shebang

#!/bin/bash

Faire le plus possible que le code soit Posix compliant bashism : utiliser de la syntaxe bash qui n'est pas posix compliant

Tester son script avec

shellcheck NOM_SCRIPT

Redirections

Variables

Tests

Tests sur les objets du système de fichiers

Les opérateurs de tests disponibles sont, pour les objets du système de fichiers :

Tests sur les chaînes de caractères

Les opérateurs de tests disponibles sont, pour les chaînes :

Table de vérité de « -a »
Comparaison Résultat Calcul
0 et 0 0 0 × 0 = 0
0 et 1 0 0 × 1 = 0
1 et 0 0 1 × 0 = 0
1 et 1 1 1 × 1 = 1

Les deux assertions doivent être vérifiées pour que la condition le soit aussi.

Table de vérité de « -o »
Comparaison Résultat Calcul
0 ou 0 0 0 + 0 = 0
0 ou 1 1 0 + 1 = 1
1 ou 0 1 1 + 0 = 1
1 ou 1 1 1 + 1 = 1

Dès que l'une des deux assertions est vérifiée, la condition globale l'est aussi.

Astuces diverses

Logging

Getopts

cat « EOF permet d'afficher du texte avec le même formatage jusqu'au caractère EOF.

cat << EOF
Tool for Security Patch Management.
 
Usage: $0 [options]
 
OPTIONS:
    -h      Display help
    -v      Be verbose
    -u      Update & Download only Security updates
    -f      Force Security Upgrade
    -s      Safe Security Upgrade (ask host server before, need to define --host and --port)
    -i      Ignore package during upgrade whose name contains one of this param, separated with ',' or '|' or ' '. Example : "mysql,apache"
    -l      Log file (Default : /var/log/securityUpgrades.log)
    -r      Host asked for safe upgrade
    -p      Remote host's port
EOF

Analyse de paramètres et message d'erreurs avec Getops : http://www.quennec.fr/book/export/html/341

Lire et traiter les lignes d'un fichier

#!/bin/bash
while read ligne; do
    echo $ligne
done < fichier.txt

Divers

Raccourcis Atom

Commenter blocs de texte ⇒ ctrl+maj+/

Sources

https://fr.wikibooks.org/wiki/Programmation_Bash/Tests - Contenus sous licence CC BY-SA