Le mécanisme d'interprétation du « Shell »

Magazine
Marque
Linux Pratique
HS n°
Numéro
39
Mois de parution
juillet 2017
Spécialité(s)


Résumé

La complexité qu’on attribue à la programmation « Shell » est essentiellement due au manque de soin apporté à l’étude et la bonne compréhension de son mécanisme d’interprétation. En fait, si celui-ci semble souvent intuitif, surtout pour les utilisateurs déjà habitués à d’autres langages de script ou de programmation, il est fondamental de bien comprendre chacune des étapes de l’analyse d’une ligne de script pour prendre réellement en main le « Shell ». Cet article va donc détailler, étape par étape, comment un interpréteur, « Bash » ou autre, va découper et exécuter les commandes saisies ou les lignes d’un script « Shell », et ainsi, expliciter, autant que possible, le mécanisme d’interprétation de ce dernier.


1. Langage interprété

Une notion cruciale à retenir avant tout est que le « Shell » est un langage interprété [1]. Ceci signifie que les instructions utilisées vont être tout d'abord interprétées avant d'être transformées en langage machine. Cette approche est très différente des langages de programmation dits « compilés » (comme le C ou même le Java).

Dans le cas de ces derniers, les instructions ou mot-clés du langage sont directement transformés en instructions-machine. Il y a donc une relation plus « directe » entre le code et l'exécution par la machine. Dans le cas des langages interprétés, cette relation est beaucoup moins directe.

Ceci a de nombreuses conséquences, dont l'une est l'absence de gestion de la mémoire. En effet, dans un langage interprété, c'est à la charge de l'interpréteur – qui exécute le programme comme nous allons le voir par la suite – de s'occuper d'allouer (et surtout de désallouer) la mémoire nécessaire...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Par le(s) même(s) auteur(s)

Déployer une application Quarkus avec Ansible

Magazine
Marque
Linux Pratique
Numéro
139
Mois de parution
septembre 2023
Spécialité(s)
Résumé

Le cadre de développement et d’exécution Java nommé Quarkus, déjà évoqué dans les pages de ce magazine, est une fabuleuse solution pour implémenter des microservices, de manière légère et efficace. Aujourd’hui, dans ce nouvel article, nous proposons d’automatiser la construction et le déploiement de ce type d’application à l’aide d’Ansible.

Automatiser le déploiement d'un MOM avec Wildfly et Ansible

Magazine
Marque
Linux Pratique
Numéro
137
Mois de parution
mai 2023
Spécialité(s)
Résumé

Dans de nombreuses organisations et grandes entreprises, les solutions logicielles de gestion de messages (ou MOM pour « Messaging Oriented Middleware ») sont omniprésentes. Dans cet article, nous proposons donc d’évoquer le déploiement d’une telle solution, à l’aide du serveur Java open source, Wildfly, et de manière entièrement automatisée grâce à Ansible…

Introduction à l’automatisation avec Ansible

Magazine
Marque
Linux Pratique
HS n°
Numéro
57
Mois de parution
avril 2023
Spécialité(s)
Résumé

La croissance constante de la taille des systèmes d'information, comme la démultiplication de leurs environnements d'exécution, a rendu essentielle l'automatisation de toutes tâches d'administration de ceux-ci. Cet article propose donc d'introduire son lecteur à l'une des solutions d'automatisation la plus appréciée : Ansible.

Les derniers articles Premiums

Les derniers articles Premium

Brève introduction pratique à ZFS

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Il est grand temps de passer à un système de fichiers plus robuste et performant : ZFS. Avec ses fonctionnalités avancées, il assure une intégrité des données inégalée et simplifie la gestion des volumes de stockage. Il permet aussi de faire des snapshots, des clones, et de la déduplication, il est donc la solution idéale pour les environnements de stockage critiques. Découvrons ensemble pourquoi ZFS est LE choix incontournable pour l'avenir du stockage de données.

Générez votre serveur JEE sur-mesure avec Wildfly Glow

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Et, si, en une ligne de commandes, on pouvait reconstruire son serveur JEE pour qu’il soit configuré, sur mesure, pour les besoins des applications qu’il embarque ? Et si on pouvait aller encore plus loin, en distribuant l’ensemble, assemblé sous la forme d’un jar exécutable ? Et si on pouvait même déployer le tout, automatiquement, sur OpenShift ? Grâce à Wildfly Glow [1], c’est possible ! Tout du moins, pour le serveur JEE open source Wildfly [2]. Démonstration dans cet article.

Les listes de lecture

8 article(s) - ajoutée le 01/07/2020
Découvrez notre sélection d'articles pour faire vos premiers pas avec les conteneurs, apprendre à les configurer et les utiliser au quotidien.
11 article(s) - ajoutée le 02/07/2020
Si vous recherchez quels sont les outils du DevOps et comment les utiliser, cette liste est faite pour vous.
8 article(s) - ajoutée le 02/07/2020
Il est essentiel d'effectuer des sauvegardes régulières de son travail pour éviter de perdre toutes ses données bêtement. De nombreux outils sont disponibles pour nous assister dans cette tâche.
Voir les 59 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous