> Tech > 10 clés pour le scripting shell de commandes

10 clés pour le scripting shell de commandes

Tech - Par Bill Stewart - Publié le 24 juin 2010
email

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

Comment sécuriser une PME avec l’approche par les risques ?

Comment sécuriser une PME avec l’approche par les risques ?

Disposant de moyens financiers et humains contraints, les PME éprouvent des difficultés à mettre en place une véritable stratégie de cybersécurité. Opérateur de services et d’infrastructures, Naitways leur propose une approche pragmatique de sécurité « by design » en priorisant les risques auxquelles elles sont confrontées.

Tech - Par Bill Stewart - Publié le 24 juin 2010