Execution Environments This section describes both variables and functions used by centos-art.sh script as well as the related execution environments they take place on. The execution environment of centos-art.sh script can be defined as the virtual boundery of memory in which the script does what it was conceived to do once executed by a command-line interpreter (e.g., Bash). When you execute the centos-art.sh script in your terminal, the interpreter behind it creates a new execution environment for it which inherits all the variables and functions set in the shell execution environment and those exported to it through the ~/.bash_profile file, as well. The centos-art.sh script uses the ~/.bash_profile file to implement per-user customizations. For example, you can use this file to set the location of your working copy through the TCAR_WORKDIR enviroment variable. By default this variable is set to ${HOME}/artwork, but you can reset to something different to fit your needs. See . Once the centos-art.sh script has been executed, it creates different levels of execution environments inside the one created by the script itself on the shell. This different levels can be seen as a tree of execution environments which inherit one another, as illustrated in . These different levels of execution evironments are where the centos-art.sh script is developed in. Execution environments Execution environments --------------------------------------------------------------- Shell execution environment ----|-------------------|-------------------------------------- . |-- TCAR_WORKDIR |-- EDITOR . . |-- LANG |-- HOME . . `-- centos-art.sh `-- ... . . ----|------------------------------------------------ . . centos-art.sh script execution environment . . ----|--------------------|--------------------------- . . . |-- CLI_NAME `-- cli() . . . . |-- CLI_VERSION |-- render() . . . . |-- CLI_BASEDIR | |-- svg() . . . . |-- CLI_FUNCDIR | `-- docbook() . . . . |-- TMPDIR |-- help() . . . . `-- ... | |-- docbook() . . . . | `-- texinfo() . . . . |-- locale() . . . . |-- cli_printMessage() . . . . |-- cli_getFilesList() . . . . `-- ... . . . ..................................................... . ............................................................... The first file centos-art.sh script calls is the trunk/Scripts/Bash/Functions/Common/cli.sh file. This file initializes variables and functions used along the script execution environment. Such variables are for internal use inside the centos-art.sh script only and users shouldn't modify them to customize the script in a per-user level. Instead, to customize the script behaviour in a per-user level, users need to make use of environment variables set in ~/.bash_profile file. The functions initialized by trunk/Scripts/Bash/Functions/Common/cli.sh can be either common or specific. Common functionalities are always loaded in each execution of centos-art.sh script. Common functionalities are stored in the trunk/Scripts/Bash/Functions/Commons/ directory and are made available for all specific functionalities loaded later. Specific functionalities, on the other hand, are loaded based in the first argument passed to centos-art.sh script and are not available for common functionalities. Specific functionalities are stored in the trunk/Scripts/Bash/Functions/${CLI_FUNCDIRNAM} directory. In , render, help and locale are all specific functions while cli_printMessage and cli_getFilesList are common functionality. Environment Variables The centos-art.sh script uses the following system environment variables: PATH The PATH environment variable is specific to the operating system and provides search paths for command execution. By default, the centos-art.sh script links executable scripts from the ~/bin directory which is one of the locations used as search path in this variable. This is how we create the centos-art command from the centos-art.sh script inside your working copy. This variable is not initialized inside the centos-art.sh script. Instead, the value set in ~/.bash_profile file is used. EDITOR The EDITOR environment variable is specific to the operating system and provides the path to your default text editor. 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. Possible values for this variable are: /usr/bin/vim /usr/bin/emacs /usr/bin/nano In case none of these values is set for the EDITOR environment variable inside ~/.bash_profile, the centos-art.sh script uses /usr/bin/vim as default text editor. This is the default text editor installed by default in &TCD;. TEXTDOMAIN The TEXTDOMAIN environment variable is specific to the operating system and provides the domain name of that application we are producing translation messages for. This variable, in combination with TEXTDOMAINDIR, is used by gettext to find out the location of translation messages. In the very specific case of centos-art.sh script we use the centos-art.sh name as domain name. This variable is initialized inside the centos-art.sh script, so if you set it outside it (e.g., in ~/.bash_profile) the value you set there will be overwritten by that one set inside centos-art.sh script, once it is executed. TEXTDOMAINDIR The TEXTDOMAINDIR environment variable is specific to the operating system and provides the absolute path to the directory containing the translation messages related to that application specified by TEXTDOMAIN environment variable. In the very specific case of centos-art.sh script we use the trunk/Locales/Scripts/Bash path as default value. This variable is initialized inside the centos-art.sh script, so if you set it outside it (e.g., in ~/.bash_profile) the value you set there will be overwritten by that one set inside centos-art.sh script, once it is executed. TMPDIR The TMPDIR environment variable is specific to the operating system and provides the absolute path to the temporal directory the centos-art.sh script will use along its execution. This variable is defined inside the centos-art.sh script itself using the mktemp command and will be unique on each script execution. Thus, you should be able to run several instances of centos-art.sh script simultaneously without any problem. Each time you need to store temporal files, do it inside the absolute path specified by this variable. This variable is initialized inside the centos-art.sh script, so if you set it outside it (e.g., in ~/.bash_profile) the value you set there will be overwritten by that one set inside centos-art.sh script, once it is executed. LANG The LANG environment variable is specific to the operating system and controls the default locale information of it. 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;. The LANG environment 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, or even resetting the variable before executing the centos-art.sh script. In addition to system environment variables described above, the centos-art.sh script adds the following variables inside the ~/.bash_profile file to control the script behaviour in a per-user level: TCAR_WORKDIR 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. In order for this variable to be customizable you need to configure your workstation first, as described in . By default, when this variable hadn't been set, the centos-art.sh script assumes the ${HOME}/artwork path as default location for your working copy. TCAR_BRAND ... Environment Functions In addition to environment variables described above, the centos-art.sh script makes available the following common environment functions: cli_checkFiles FILE ... ... cli_printMessage MESSAGE TYPE ... cli_exportFunctions PATH ...