GNU/Linux >> Tutoriels Linux >  >> Linux

Est-il possible d'émuler des versions plus anciennes de Bash ?

Est-il possible d'émuler (est-ce le bon mot ?) les versions précédentes de Bash ?

J'utilise 4.3.11 et je suis curieux de savoir si mes scripts sont compatibles avec certaines versions antérieures, mais je ne souhaite pas installer une version antérieure. Je pourrais parcourir les journaux des modifications et déterminer quelles fonctionnalités j'utilise qui manquent aux versions précédentes, mais cela semble un peu fastidieux. J'espérais plutôt une sorte d'option de ligne de commande magique ou de commande de script (un vœu pieux, probablement).

Réponse acceptée :

Non, bash ne peut pas émuler les anciennes versions de bash. Mais il est assez facile de configurer un environnement de test qui inclut une ancienne version de bash.

L'installation d'une ancienne version d'un logiciel individuel est fastidieuse si vous devez installer chaque progiciel manuellement, sans parler de la résolution des incompatibilités de bibliothèque. Mais il existe une solution plus simple :installez une ancienne distribution . L'installation d'une distribution plus ancienne, avec un ensemble cohérent de logiciels, y compris des packages de développement, coûte environ 1 USD d'espace disque et peut-être une heure pour la première configuration.

Le package schroot facilite l'installation d'une distribution Linux plus ancienne (ou plus récente !) qui s'exécute sur le même système que votre système Linux normal. Vous pouvez facilement créer une configuration schroot dans laquelle vous pouvez exécuter un programme dans un environnement (un chroot) où les répertoires système pointent vers l'ancien logiciel, mais les répertoires personnels sont ceux de l'environnement normal. J'ai écrit un guide pour les distributions basées sur Debian; vous pouvez facilement revenir à Debian slink (avec bash 2.01.01) de cette façon.

Si vous souhaitez tester avec différentes variantes d'Unix, différentes architectures de CPU ou des logiciels très très anciens, vous pouvez exécuter d'autres systèmes d'exploitation dans une machine virtuelle. Il y a un peu plus de surcharge (en RAM, espace disque, CPU et maintenance) mais c'est tout à fait faisable.


Linux
  1. Est-il possible d'appliquer les commandes intégrées à Bash ?

  2. Est-il possible que l'achèvement de Bash parcoure les alternatives ?

  3. Comment puis-je tester mon script Bash sur des versions plus anciennes de Bash ?

  4. Exécutez la commande bash sur le pipeline jenkins

  5. Est-il possible d'avoir un historique bash sensible au répertoire

Tableaux bash

Bash Shebang

Commande Bash printf

Comment mettre à niveau vers Fedora 32 Workstation à partir d'anciennes versions

Tableau associatif dans Bash

Comment supprimer les anciennes versions du noyau Linux dans Ubuntu