Comment résoudre les problèmes avec les variables d'environnement qui ne sont pas définies dans un script bash

Comment résoudre les problèmes avec les variables d'environnement qui ne sont pas définies dans un script bash

Les variables d'environnement sont utilisées pour modifier le comportement d'un environnement. Ces variables peuvent modifier le fonctionnement des logiciels ou des applications. La configuration des variables d'environnement a plusieurs applications en bash. De telles variables peuvent être utilisées pour stocker n'importe quoi.

De plus, chaque système a certaines variables d'environnement qu'il utilise tout en interagissant avec l'utilisateur. Dans cet article, nous allons d'abord examiner les bases des scripts bash et mettre en place et manipuler les variables de l'environnement, puis passer par quelques remèdes pour les problèmes associés.

Scripts bash

Dans Ubuntu, presque toutes les tâches peuvent être exécutées à l'aide de l'interface utilisateur graphique ou du shell de ligne de commande. Certaines tâches sont plus facilement effectuées en utilisant la coquille plutôt que l'interface graphique. Les scripts sont des fichiers composés de commandes. Toutes ces commandes sont exécutées lorsque le fichier de script est exécuté. Les scripts bash sont de tels scripts qui utilisent l'interprète bash.

L'extension des scripts est .shot. Les scripts peuvent être écrits à l'aide de n'importe quel éditeur de texte. Chaque script bash commence par la ligne #!/ bin / bash, qui dit au système d'utiliser l'interprète bash.

Variables d'environnement

Les variables d'environnement ont les propriétés de la localité des processus, de l'héritage et de la sensibilité aux cas. La localité du processus signifie que les variables d'environnement sont exclusives à l'instance spécifique du shell, sauf indication contraire. L'héritage fait référence à la relation parent-enfant entre divers environnements.

La sensibilité à la caisse, comme son nom l'indique, signifie que les variables d'environnement sont sensibles aux changements de cas. Généralement, le format des variables d'environnement dépend de son système parent. Cependant, toutes les variables d'environnement ont deux caractéristiques en commun; nom variable et valeur stockée.

Le nom de variable peut être n'importe quoi, mais la valeur doit être dans le format conforme au type de variable d'environnement. Ceci est particulièrement important lors de la gestion des variables d'environnement créées par le système. Par exemple, la variable d'environnement Lang est chargée de sélectionner la langue utilisée par l'application pour communiquer avec l'utilisateur. Sa valeur dépend de l'emplacement, mais généralement aux États-Unis, il aura la valeur «en_us.UTF-8 ”.

Manipuler les variables d'environnement

Il existe plusieurs utilitaires graphiques pour rechercher, mettre en place et modifier des variables d'environnement, mais dans cet article, nous examinerons comment gérer ces variables dans la ligne de commande bash.

Pour créer une nouvelle variable d'environnement, vous pouvez utiliser la commande d'exportation. Il existe plusieurs façons de créer une variable d'environnement. Vous pouvez d'abord définir la variable, puis l'exporter. Nous allons créer la variable nommée Editor avec la valeur nano (éditeur de texte), puis l'exporter.

$ Editor = Nano
$ éditeur d'exportation

L'autre façon de créer les variables d'environnement est de les définir dans la commande d'exportation elle-même.

$ éditeur d'exportation = nano

Si vous avez l'intention d'utiliser des espaces dans la valeur, vous devez utiliser des devis doubles tout en créant la variable d'environnement comme indiqué:

$ export var = "ma valeur"

Les valeurs des variables d'environnement sont accessibles en utilisant la commande echo suivie du nom de la variable respective avec un signe en dollars.

$ echo $ var

Vous pouvez également utiliser la commande Printinv pour obtenir la valeur de toute variable d'environnement.

$ printenv var

Problèmes liés aux variables d'environnement

Tout en définissant des variables d'environnement dans les scripts bash, les problèmes communs sont liés à la relation parent-enfant des coquilles. La solution à de tels problèmes est de définir les variables dans un environnement parent. Comme nous l'avons vu précédemment, généralement, les variables d'environnement sont temporaires et exclusives à l'instance de shell dans laquelle elles sont créées; Cependant, nous pouvons également définir des variables d'environnement persistantes et accessibles à d'autres utilisateurs.

Si vous souhaitez créer une variable d'environnement qui est permanente pour votre utilisation uniquement, vous devrez modifier le .fichier bashrc. Il est situé dans le répertoire / home / utilisateur. Vous pouvez ajouter une variable d'environnement VAR dans le .Fichier Bashrc en exécutant les commandes suivantes:

$ nano / home / user /.bashrc

Maintenant, nous utilisons l'éditeur de texte Nano pour modifier le contenu du fichier bash.

exporter var = "ma variable permanente"

Pour appliquer les modifications à votre session actuelle, procurez-vous le .Fichier Bashrc en utilisant la commande suivante:

$ source .bashrc

La variable VAR sera disponible pour chaque instance du shell exécuté par l'utilisateur actuel.

Cependant, si vous cherchez à créer une variable d'environnement disponible pour tous les utilisateurs, vous devrez l'inclure dans le fichier / etc / environnement. Par exemple, nous pouvons ajouter une variable d'environnement globale au fichier / etc / environnement en exécutant les commandes suivantes:

$ nano / etc / environnement

Comme nous l'avons fait auparavant avec le .Fichier Bashrc, nous modifions maintenant le contenu du fichier environnemental.

export global = "Ceci est une variable globale."

Source le fichier environnement pour appliquer les modifications en tapant la commande suivante:

$ source / etc / environnement

Si vous souhaitez créer une variable d'environnement qui stocke le résultat d'une commande exécutée dans un script bash, vous devrez utiliser la substitution des paramètres. Le format général de la substitution des paramètres implique l'utilisation de la commande d'exportation suivie de la commande avec un signe en dollars enfermé entre parenthèses comme indiqué:

$ export var = $ ()

Par exemple, si vous souhaitez stocker votre variable d'environnement Shell dans une autre variable MyShell, vous pouvez utiliser la commande suivante:

$ export myshell = $ (echo $ shell)

Conclusion

Dans cet article, nous avons traversé les bases des scripts bash et des variables d'environnement. De plus, nous avons compris comment manipuler les variables environnementales, certains problèmes typiques liés à la création de telles variables dans les scripts bash et comment leur remédier.