Les scripts shell sont des fichiers en texte clair qu’un shell de commandes interprète comme une suite de commandes à exécuter dans l’ordre. Ils ont une longue histoire : le shell Command.com dans MS-DOS a permis le scripting shell Cmd.exe a encore toute sa place dans la panoplie du professionnel informatique. Ainsi, un simple script shell avec une commande For peut transformer une commande qui travaille avec seulement un ordinateur ou un nom d’utilisateur à la fois sur la ligne de commande, en une commande capable de balayer le fichier texte et de s’exécuter pour chaque ligne du fichier. Comme les scripts shell sont des fichiers en texte clair qui contiennent une suite de commandes, ils sont faciles à créer, à modifier et à comprendre. Mais cette simplicité peut avoir son revers.
En effet, un script shell écrit à la va-vite peut faire des ravages. J’en ai vu faire des suppositions incorrectes à propos de l’OS ou de l’environnement sous-jacent qui, au mieux, les empêchent de fonctionner correctement, ou au pire, sèment le chaos dans un système parfaitement confiant. C’est pour vous éviter de tels pièges que j’ai écrit les 10 conseils clés suivants, pour créer des scripts plus robustes donnant satisfaction dans divers environnements.
10 clés pour le scripting shell de commandes

En utilisant une variable dans un script, vous placez le nom de la variable entre des signes pour cent (%) et, quand le script shell s’exécute, les données de la variable viennent remplacer les signes pour cent et le texte qu’ils délimitent. Grâce aux variables, le code du script est plus générique, donc plus susceptible de fonctionner sur des ordinateurs différents. Ainsi, on ne devrait jamais « coder en dur » le nom de répertoire d’installation Windows dans un script shell. Il vaut mieux utiliser la variable SystemRoot, qui pointera toujours vers le répertoire d’installation Windows.
Par conséquent, la commande Echo %SystemRoot% affichera le contenu de SystemRoot (c’est-à-dire le répertoire d’installation Windows). J’ai parfois vu des scripts shell qui utilisaient C:\WINDOWS pour faire référence au répertoire d’installation Windows. Si Windows n’est pas installé dans C:\WINDOWS (par exemple, Windows 2000 et versions antérieures sont installés dans \WINNT), le script ne fonctionnera pas correctement. Les variables d’environnement facilitent la vie aux programmeurs et aux auteurs de scripts.
Pour voir une liste de variables d’environnement, tapez la commande Set à une invite de commande. Certaines variables n’apparaissent pas dans la liste ainsi obtenue, parce qu’elles sont générées dynamiquement par Cmd.exe. Le tableau 1 en montre une liste. Comme avec d’autres variables d’environnement, placez ces variables entre des signes pour cent. Ainsi, la ligne suivante dans un script affichera la date et l’heure courantes : Echo %DATE% %TIME%
Téléchargez cette ressource

État des lieux de la réponse à incident de cybersécurité
Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- La cybersécurité, c’est le rôle de tous !
- DORA : quels impacts après les six premiers mois de mise en conformité sur le terrain ?
- Cybersécurité : le secteur de la santé toujours au défi de la sécurité des e-mails
- Attaque Microsoft SharePoint, analyse et recommandations
- Devenir RSSI : quels parcours et de quelles qualités faire preuve ?
