Scripting Bash

Généralités

  • En-tête (shebang)

    #!/bin/bash

  • Commentaire

    # Voici un commentaire

  • Exécutable

    chmod +x mon_script.sh

  • Lancer : ./mon_script.sh

  • Déboguer : bash -xv mon_script.sh

Variables

  • Définir : <variable>=<valeur> 

  • Afficher : echo $<variable>

  • Arguments du scripts

    $@ : tous les arguments

    $# : nombre d’arguments

    $0 : nom du script

    $1 : premier argument

    $2 $3 etc.

    $? : code de retour d’une commande

  • Script interactif

    read <variable> <variable> etc.

    Exemple

    #!/bin/bash

    echo "Veuillez entrer vos nom et prénom :"

    read word1 word2

    echo "Merci $word2 d’avoir entré votre nom ($word1)"

Appel de commandes et fichiers

  • Sourcer (lire les variables)

    . /chemin/fichier

    source /chemin/fichier

  • Appel d’un script

    /chemin/script

    ./script

  • Commande dans commande

    `commande` (guillemets inverses)

    $(commande)

Échappement de caractères spéciaux

\<caractère spécial> : échappement fort d’un seul caractère spécial

’<chaîne de caractères>’ (guillemets simples) : échappement fort d’une chaîne.

"<chaîne de caractères>" (guillemets doubles) : échappement faible, caractères non échappés $ ` \

Comparaisons arithmétiques

-lt (less than)

-gt (greater than)

-le (less or equal)

-ge (greater or equal)

-eq (equal)

-ne (not equal)

if [ $note -ge 19 ]; then...

Pour consulter la suite, découvrez le livre suivant :
couv_RI3RED.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Shell Bash