
Pour qu’un script s’exécute correctement, il est nécessaire que ce dernier remplisse certaines conditions :
Le Sha-Bang !
Le sha-bang #! doit être noté en-tête du fichier (la première ligne).
Il indique à votre système d’exploitation que votre script est un ensemble de commandes pour l’interpréteur indiqué.
Les caractères #! sont codés sur deux octets et correspondent en fait à un nombre magique, un marqueur spécial qui désigne un type de fichier, ou dans ce cas, un script shell exécutable.
Son nom est possiblement une contraction de sharp (désignant le dièse, #) et bang (désignant le point d’exclamation, !). On trouve aussi d’autres dénominations : shabang, shebang, she-bang, hash-bang.
Le chemin de l’interpréteur
Tout de suite après le sha-bang se trouve un chemin. C’est le chemin vers le programme qui interprète les commandes de ce script, qu’il soit un shell, un langage de programmation ou un utilitaire.
#!/bin/sh
#!/bin/bash
#!/usr/bin/perl
#!/usr/bin/tcl
#!/bin/sed -f
#!/usr/awk -f
Chacune des lignes d’en-tête du script ci-dessus appelle un interpréteur de commande différent, qu’il soit /bin/sh, le shell par défaut (bash dans un système Linux) ou autre chose.
Ensuite, cet interpréteur de commande exécute les commandes du script, en commençant au début (la ligne suivant immédiatement celle avec le #!), en ignorant les commentaires.

Création d’un script
mkdir /home/florent/mes_scripts
> sysmaj.sh
nano sysmaj.sh
Voici le contenu du script :
#!/bin/sh
# Mise a jour des depots
apt-get update
# Mise a jour du systeme
apt-get upgrade
Les droits d’exécution
Pour qu’un script soit exécutable, vous devez lui affecter les droits d’exécution :
chmod +x /home/florent/mes_scripts/sysmaj.sh
Exécution du script
Le chemin absolu :
Quel que soit l’emplacement où vous vous trouvez, tapez :
./home/florent/mes_scripts/sysmaj.sh
Le chemin relatif :
Dans ce cas, il faut aller dans le répertoire qui contient l’exécutable avant de l’exécuter :
cd /home/florent/mes_scripts/
./sysmaj.sh
Si vous êtes trop descendu dans l’arborescence, utilisez :
. - répertoire courant
.. - répertoire parent
Tâche planifiée avec Crontab :
Vous saurez tout sur la planification avec Crontab ici !