Accueil > Le développement > La formation > Les Outils Numériques > Les lignes de commande sous macOS > Les lignes de commande - Leçon 2 - Le `script Shell`

Les lignes de commande - Leçon 2 - Le `script Shell`

vendredi 22 septembre 2023, par Vincent CALLIES

Le présent article porte sur ce qu’est un script shell. Vous exécutez un script shell pour exécuter des commandes sans avoir à les saisir dans l’outil de ligne de commande.
Un script shell est un fichier texte contenant une ou plusieurs commandes UNIX. Le système d’exploitation macOS est fondé sur un noyau UNIX avec lequel vos lignes de commande vont pouvoir interagir.
Sans le savoir, le précédent article vous a appris à passer des commandes UNIX. Le présent article va vous permettre de les regrouper dans un ficher texte et de les exécuter d’un coup.

1. Créer un script Shell dans un répertoire ad hoc.

1.1 Créer le repertoire

cd ~/Documents
On se place dans le répertoire Documents
mkdir Dev
On crée un répertoire Dev avec la commande unix mkdir
cd Dev
On se place dans le répertoire Dev nouvellement créé

1.2 Créer le fichier

vim bonjour.sh
On crée avec l’éditeur vim un script dénommé bonjour.sh

2. Placer des instructions dans le script et le rendre exécutable

Nous allons faire un script, inutile mais sympathique, qui se contente de dire bonjour à la personne que vous souhaitez. C’est un exercice classique dans le monde de la programmation.

2.1 Créer une liste de commandes

PREMIER_ARGUMENT="$1"
echo "Bonjour, $PREMIER_ARGUMENT !"
Dans l’éditeur, nous saisissons les deux lignes suivantes. Puis, pour enregistrer le fichier dans Vim et le quitter, nous appuyons sur les touche Echap+Maj+ZZ.

2.2 Rendre le fichier exécutable

chmod u+x bonjour.sh
ou
chmod 755 bonjour.sh
Il faut indiquer à l’ordinateur qu’il a le droit d’exécuter ce script. L’autorisation se donne par la commande chmod suivie d’arguments. chmod 755 donne au propriétaire tous les droits, aux membres du groupe et aux autres les droits de lecture et d’accès. La commande chmod u+x est plus précise : elle donne à l’utilisateur seulement tous les droits et ne se préoccupe pas des droit des autres.

2.3 Exécuter le fichier

./bonjour.sh Vincent
L’execution du script directement n’est pas possible. Il faut le faire reconnaitre comme un script exécutable. Vous pouvez essayer de le faire sans cette déclaration préalable : vous aurez alors le message d’erreur suivant : permission denied: ./bonjour.sh. L’appel au script bonjour.sh est suivi d’un argument qui est le prénom de la personne que vous voulez saluer.

Le terminal affichera Bonjour, Vincent ! en cas de succès.

Conclusion

Le SYNPER donne des formations d’initiation à la programmation. Les articles de cette rubrique accompagne une formation sur les lignes de commande avec macOS.

  • Le précédent article vous a appris à passer des commandes Linux.
  • Le présent article vous a appris à regrouper ces commandes et les exécuter depuis un fichier.
  • Le prochain article vous indiquera comme planifier l’exécution de ces lignes de commande.