Execution Environment When you login in your computer you enter into a unique user environment which you can customize by setting environment variables in the ~/.bash_profile file.To know more about environment variables, see the bash(1) man page. This way different users can benefit from their own environment variables to customize the execution of centos-art.sh script in a safe way. For example, users can use the variables of their environments to set different locations for their working copies of &TCAR;.See When you execute the centos-art.sh script, you create a new environment inside the user environment which we call the script environment. This environment inherits all variables from the user environment and contains the variables and functionalities defined by the script itself. If your only interest is using the centos-art.sh script to accomplish tasks inside the working copy, you don't need to know the whole environment it uses, but the user environment only. However, if your interest is improving it somehow, to know the environment where it is run is a fundamental knowledge you need to be armed with in order to understand where to put the code you want to contribute inside the script. The script environment The script environment ------------------------------------------------------- User environment ----|-------------------|------------------------------ . |-- TCAR_WORKDIR |-- EDITOR . . |-- LANG |-- HOME . . `-- centos-art.sh `-- ... . . ----|---------------------------------------- . . centos-art.sh script environment . . ----|-----------------|---------------------- . . . |-- CLI_NAME `-- init() . . . . |-- CLI_VERSION |-- render() . . . . |-- CLI_BASEDIR | |-- svg() . . . . |-- CLI_FUNCDIR | `-- docbook() . . . . |-- CLI_TEMPDIR |-- help() . . . . `-- ... | |-- docbook() . . . . | `-- texinfo() . . . . |-- locale() . . . . `-- ... . . . ............................................. . ....................................................... To study the environment of centos-art.sh script, you need to consider the directory structure under trunk/Scripts/Bash/. In this structure each directory under Functions/ creates a new function environment inside the script environment. You can only execute one function environment at a time for each script environment. In some cases, it is possible to find a sub-function environment which takes place inside the function environment. Such is the case of the render functionality which produces both images and DocBook manuals. If you need more environment levels from sub-function environment on, then it is a good time for you to consider the creation of a new function environment at all. User's Profile (<filename>~/.bash_profile</filename>) Default working copy TCAR_WORKDIR=${HOME}/artwork The TCAR_WORKDIR environment variable is specific to centos-art.sh script and controls the working copy default location in the workstation. This variable doesn't exist just after installing your workstation. This variable appears inside the ~/.bash_profile file (and so in the user environment of yours) after configuring your workstation, as described in . Default execution path PATH=$PATH:$HOME/bin This is the location where we store links to executable files inside the working copy. Default text editor EDITOR=/usr/bin/vim The default text editor information is controlled by the EDITOR environment variable. The centos-art.sh script uses the default text editor to edit subversion pre-commit messages, translation files, documentation files, script files, and similar text-based files. If EDITOR environment variable is not set, centos-art.sh script uses /usr/bin/vim as default text editor. Otherwise, the following values are recognized by centos-art.sh script: /usr/bin/vim /usr/bin/emacs /usr/bin/nano If none of these values is set in the EDITOR environment variable, the centos-art.sh script uses /usr/bin/vim text editor, the one installed by default in &TCD;. Default locale information The default locale information is controlled by the LANG environment variable. This variable is initially set in the installation process of &TCD;, specifically in the Language step. Generally, there is no need to customize this variable in your personal profile. If you need to change the value of this environment variable do it through the login screen of GNOME Desktop Environment or the system-config-language command. The centos-art.sh script use the LANG environment variable to determine what language to use for printing output messages from the script itself, as well as the portable objects locations that need to be updated or edited when you localize directory structures inside the working copy of &TCAR;. Default time zone representation The time zone representation is a time correction applied to the system time (stored in the BIOS clock) based on your country location. This correction is specially useful to distributed computers around the world that work together and need to be syncronized in time to know when things happened. &TCAR; is made of one server and several workstations spread around the world. In order for all these workstations to know when changes in the server took place, it is required that they all set their system clocks to use the same time information (e.g., through UTC (Coordinated Universal Time)) and set the time correction for their specific countries in the operating system. Otherwise, it would be difficult to know when something exactly happened. Generally, setting the time zone information is a straight-forward task and configuration tools provided by &TCD; do cover time correction for most of the countries around the world, thus we don't include it to your personal profile. In case you need a time precision not provided by any of the date and time configuration tools provided by &TCD; then, you need to customize the TZ environment variable in your personal profile to correct the time information by yourself. The format of TZ environment variable is described in tzset(3) manual page.