4 votes

À quoi servent les variables d'environnement TERM_PROGRAM et TERM_PROGRAM_VERSION ?

Après avoir couru :

env  ; #from with in terminal

Je vois le résultat suivant :

TERM_PROGRAM=Apple_Terminal  ;#Not sure Terminal.app
TERM_PROGRAM_VERSION=273     ;#The CFBundleVersion of Terminal.app
TERM=xterm-color
SHELL=/bin/bash
...

Après avoir essayé de donner une signification à chacune des variables énumérées, je n'ai pas pu trouver de sources définitives sur ce à quoi servent exactement les variables TERM_PROGRAM et TERM_PROGRAM_VERSION. Les pages de manuel et Apropos ne donnent aucune explication à ce sujet, et Google n'en donne pas non plus. Il est clair qu'il s'agit d'un paramètre spécifique à Apple dans Mac OS X, mais je ne suis pas sûr de savoir quoi ?

4voto

outofstep Points 271

TERM_PROGRAM est utilisé dans /etc/zshrc y /etc/bashrc pour exécuter des commandes spécifiques au programme de terminal que vous utilisez lorsqu'ils ouvrent un shell. Par défaut, MacOS fournit /etc/zshrc_Apple_Terminal y /etc/bashrc_Apple_Terminal qui effectuent un travail supplémentaire pour gérer le répertoire de travail courant et prendre en charge la suspension et la reprise du terminal. Si vous utilisez un autre programme de terminal, vous pouvez placer un fichier à l'emplacement /etc/zshrc_$TERM_PROGRAM ou /etc/bashrc_$TERM_PROGRAM et il sera exécuté lorsque votre programme de terminal ouvrira un shell. Vous devez vous assurer que votre programme de terminal définit une valeur pour $TERM_PROGRAM bien sûr.

2voto

cm2 Points 4166

Je suppose qu'il s'agit simplement d'une variable d'environnement qui stocke le programme par défaut que vous souhaitez utiliser pour ouvrir une fenêtre de terminal. Il existe plusieurs applications différentes sous OS X qui permettent d'obtenir une invite de commande de type Unix. Par défaut, le terminal fourni par Apple se trouve dans /Applications/Utilities/Terminal.app. Si vous avez installé un autre terminal comme iTerm ou AquaTerm, cette variable est probablement définie sur cette application particulière, si elle est votre application par défaut. Le nom Apple_Terminal doit être un raccourci interne du chemin complet /Applications/Utilities/Terminal.app.

Tout comme votre SHELL c'est la valeur par défaut qui est utilisée dans les scripts ou d'autres programmes, à moins qu'elle ne soit spécifiée dans ces programmes, auquel cas la valeur par défaut est écrasée.

EDITAR : en fait cette réponse sur stack overflow semble confirmer mes soupçons.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X