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
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- IA agentique : des investissements massifs freinés par des données insuffisamment préparées
- CRM et souveraineté : le choix technologique est devenu un choix politique
- France : la maturité data devient le moteur du retour sur investissement de l’IA
- Cloud et IA : une maturité en retard face à l’explosion des usages
Articles les + lus
Les coûts cachés des merge requests générées par l’IA
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
À la une de la chaîne Tech
- Les coûts cachés des merge requests générées par l’IA
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
