Polar Code 🎭

Command Palette

Search for a command to run...

05
Pièce N°05

Le Script Fantôme – Rituels d’Automatisation

Un terminal, c’est bien. Un plan, c’est mieux. Quand il faut répéter la même danse macabre nuit après nuit, on ne tape plus chaque pas. On écrit le scénario une fois pour toutes. On crée un script. Une entité froide, logique, qui exécute sans question, sans fatigue, sans remords.

5.1 Création d’un script

Il ne s’agit pas d’écrire dans le vent. Il faut graver l’ordre dans la pierre, puis lui donner le pouvoir d’agir.

  • Le Shebang (#!/bin/bash) : La première ligne. L’incantation. Elle dit au système quel interprète invoquer pour déchiffrer les runes qui suivent. Sans elle, ce n’est qu’un texte.

    #!/bin/bash
    # Ce n'est pas un commentaire. C'est un ordre adressé au noyau.
    

    Parfois, on voit d’autres sorcelleries : #!/usr/bin/env bash. Plus portable. Plus rusé.

  • Les droits d’exécution (chmod +x) : La cérémonie d’initiation. Par défaut, un fichier texte est inerte. Il faut lui insuffler la vie.

    $ touch mon_plan.sh
    $ chmod +x mon_plan.sh
    

    Le chmod +x change les permissions. Ajoute ce petit x qui signifie « exécutable ». Maintenant, le fichier n’est plus une lettre morte. C’est un programme. Une arme.

5.2 Structure d’un script

Un bon script est comme un bon alibi : clair, cohérent, et qui tient la route sous l’examen.

  • Commentaires (#) : Les notes en marge. Pour votre futur vous, ou pour votre complice. Elles n’affectent pas l’exécution, elles expliquent l’intention.

    #!/bin/bash
    # Nom : nettoie_ombres.sh
    # Auteur : Nuit
    # Objectif : Effacer les traces dans /tmp et vider les logs suspects.
    # Usage : ./nettoie_ombres.sh [--force]
    
    ### SECTION 1 : Nettoyage des fichiers temporaires ###
    rm -f /tmp/*.cache /tmp/*.tmp  # Suppression silencieuse des résidus.
    

    Tout ce qui suit un # sur une ligne est ignoré. C’est votre seule chance de laisser une trace écrite qui ne soit pas une instruction.

  • Organisation du code : La rigueur d’un dossier d’enquête.

    1. Le shebang.
    2. Les commentaires d’en-tête.
    3. La déclaration des variables (les constantes du plan).
    4. La définition des fonctions (les routines, les petits crimes dans le crime).
    5. Le flux principal de la logique (l’exécution du plan).
    6. Le nettoyage final, les retours.
    #!/bin/bash
    # --- Variables Globales ---
    REPAIRE="/home/noir/archives"
    JOURNAL="/var/log/suspect.log"
    DATE=$(date '+%Y%m%d_%H%M%S')
    
    # --- Fonctions ---
    fonction_sauvegarde() {
        echo "[$DATE] Sauvegarde lancée..." >> "$JOURNAL"
        tar -czf "$REPAIRE/backup_$DATE.tar.gz" "$REPAIRE"/*.txt 2>/dev/null
    }
    
    fonction_nettoyage() {
        find "$REPAIRE" -name "*.tmp" -mtime +7 -delete
    }
    
    # --- Flux Principal ---
    echo "Début de l'opération 'Silence'..."
    fonction_sauvegarde
    fonction_nettoyage
    echo "Opération terminée. Consulter $JOURNAL pour les détails."
    exit 0
    

5.3 Exécution

Le moment de vérité. Deux façons principales de lancer la créature.

  • ./script.sh : L’appel direct. Mais il faut être dans le bon répertoire, et le chemin doit être précis.

    $ ./mon_plan.sh
    -bash: ./mon_plan.sh: Permission denied  # Vous avez oublié le chmod +x. Amateur.
    $ chmod +x mon_plan.sh
    $ ./mon_plan.sh  # Cette fois, l'ombre s'anime.
    
  • bash script.sh : L’invocation par l’interprète. On passe le script en argument à Bash lui-même. Les droits d’exécution sur le fichier importent moins.

    $ bash mon_plan.sh  # Ça marche, même sans chmod +x. Plus direct. Plus contrôlé.
    $ bash -x mon_plan.sh  # L'option -x : elle déroule chaque commande à l'écran avant de l'exécuter. Pour traquer le bug, pas à pas.
    

Le script est là, sur le disque. Un simple fichier texte. Mais avec le shebang et le bon sortilège chmod, il devient une extension de votre volonté. Il peut veiller, nettoyer, espionner, alerter. Il travaille quand vous dormez. Il est le complice parfait : silencieux, efficace, et qui ne témoignera jamais.

Écrivez-le bien. Un espace mal placé, une variable non définie, et tout votre plan s’effondre dans le silence éloquent d’une erreur.

Le Script Fantôme – Rituels d’Automatisation | Faites entrer BASH | Learn To Code