MacOS – the TERM_PROGRAM and TERM_PROGRAM_VERSION environment variables used for

macosterminal

After running:

env  ; #from with in terminal

I see the following output:

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

After trying to put meaning to each of the variables listed I can't really find any definitive sources for what exactly the TERM_PROGRAM and TERM_PROGRAM_VERSION variables are used for. Man pages and Apropos are not showing anything explaining it, and Google is not as well. Clearly it is relating to some kind of Apple specific setting in Mac OS X, just not sure what?

Best Answer

I assume it is just an environment variable that stores your default program that you want to use to bring up a terminal window. There are several different applications on OS X that give you a Unix-like command prompt. The default is the Apple-supplied terminal in /Applications/Utilities/Terminal.app. If you've installed some other terminal like iTerm or AquaTerm, then this variable is likely set to that particular application, if it is your default. The name Apple_Terminal must be some internal shortcut to the full /Applications/Utilities/Terminal.app path.

Just like your SHELL variable, this is the default that is used in scripts or other programs, unless it is specified in those programs specifically, whereupon the default gets overwritten.

EDIT: actually this answer on stack overflow seems to confirm my suspicions.