HEPiX Shells Scripts - Files


This page describes the different files used by the HEPiX Shells Scripts. You can consult the anatomy page to have a complete description of the behaviour.

Some files can be used to customise the the behaviour of the HEPiX Shell Scripts (at user, group, system, cluster or site level).

Index: $HOME/.BackSpace - $HOME/.Delete - $HOME/.hepix/preferred-group - *aliases.[c]sh - *env.[c]sh - *login.[c]sh - *rc* - *sys.conf.[c]sh - ^? - central-templates - HEP_bashrc - HEP_csh.cshrc - HEP_csh.login - HEP_cshrc.rc - HEP_kshrc - HEP_profile - HEP_tcshrc - HEP_zprofile - HEP_zshenv - HEP_zshrc - HEPiX Shell Scripts Files - Other Files - Templates - termset.[c]sh - User files - Wrapper Files


Normal behaviour of the shells

In order to understand the layout of our proposed scripts it is necessary to understand which files are executed by default by a given shell.

Standard configuration files for the different shells

Shell		Conditions		Executed scripts
=============================================================================
csh             always			$HOME/.cshrc
                login			$HOME/.login
-----------------------------------------------------------------------------
tcsh		always			/etc/csh.cshrc
		login			/etc/csh.login or $HOME/.login
		interactive		$HOME/.tcshrc or $HOME/.cshrc
-----------------------------------------------------------------------------
ksh		always			ENV variable if set
		login			/etc/profile or $HOME/.profile
		interactive		$HOME/.kshrc
-----------------------------------------------------------------------------
zsh		always			/etc/zshenv
					$HOME/.zshenv
		login			/etc/zprofile
					$HOME/.zprofile
					$HOME/.zlogin
		interactive		/etc/zshrc
					$HOME/.zshrc
-----------------------------------------------------------------------------
bash		always			not possible
		login			/etc/profile
					$HOME/.bash_profile or $HOME/.profile
		interactive		$HOME/.bashrc
		non-interactive		ENV variable if set
=============================================================================


Wrapper Files

Files used in enforced mode to call the HEP scripts and to make sure that root and other users don't use the HEP scripts.

The wrappers are a set of 10 files which are replacing the vendor supplied shell startup-files under /etc. You can read them into the repository /usr/local/lib/hepix/shells/wrappers\\

Location: /etc

No customisation is possible here

Wrappers provided with the HEPiX scripts


Conditions		Bourne shell flavor		C shell flavor
=============================================================================
always			/etc/zshenv			/etc/cshrc
-----------------------------------------------------------------------------
login			/etc/zprofile			/etc/csh.login
			/etc/profile              
-----------------------------------------------------------------------------
interactive		ksh: /etc/kshrc			csh: /etc/csh.cshrc
			bash:/etc/bashrc		tcsh:/etc/tcshrc 
			zsh: /etc/zshrc 
=============================================================================


central-templates

Files used in mode 1 (see installation) to call the HEP scripts and to make sure that the latter haven't been used already (see protection variables).

These files are the one directly called by the templates.

There are 4 files:

central_env.csh, central_login.csh, central_env.sh, central_login.sh.

They are located in /usr/local/lib/hepix and they are called by the templates.


HEPiX Shell Scripts Files

Here are the default locations for these files:

Note that the group level default location depends on the variable GROUP_DIR that should be defined on the Site level

The HEP files are the main engine they are calling all the other files to provide the hooks to the Site level files, set some variables, etc.

HEP_csh.cshrc

This file sets the environment of the C shells. It mainly provides almost all the useful environment variables.

HEP_zshenv

The same as above but for Bourne Shells

HEP_csh.login

This file configures the login part of the C shells, setting the terminal line if connected to a terminal, etc.

HEP_profile

The same as above but for sh, ksh, bash.

HEP_zprofile

The same as above but for zsh.

HEP_cshrc.rc

This file is setting some specific default for csh. For instance, setting some options, some shell variables, some aliases and/or functions, etc.

HEP_tcshrc

Same as above but for tcsh.

HEP_kshrc

Same as above but for ksh.

HEP_bashrc

Same as above but for bash.

HEP_zshrc

Same as above but for zsh.


Files at other levels

*sys.conf.[c]sh

These files are used to set ONLY the environment variables. There are two "twin" files for eboth C-shell and Bourne shell flavour and one is the translation of the other.

*env.[c]sh

These files are here to set the environnment part of the shell.

*aliases.[c]sh

These files are provided for you to give some aliases or functions.

*rc*

These files are here to put all other shell variables you need or other options, etc. which affect the behaviour of the shell itself.

*login.[c]sh

These files are provided for you to set everything which occurs at login time.

termset.[c]sh

These files are provided for term setting corrections


Other Files

Here are some other files that have not been described above.

$HOME/.BackSpace

It is used by the HEPiX scripts (both X11 and shells) to properly bind the "erase" key to backspace (^?).

$HOME/.Delete

It is used by the HEPiX scripts (both X11 and shells) to properly bind the "erase" key to delete (^H).

$HOME/.hepix/preferred-group

Templates

Located at /usr/local/lib/hepix/templates

shell user files .login, .cshrc, etc.

They consists of 3 parts

The document 170, 171, 172 and 175 are short documents which explain some issues with the setting of the PATH (document 170), the setting of options for zsh (document 175), where you can run commands which produce an output on the terminal (document 171 for zsh and 172 for tcsh).

The following table provides the names of the configuration files you can use according to your shell:

User files

Standard users dot-files

Shell		Conditions		Executed dot files
=============================================================================
csh             always			.cshrc
                login			.login
-----------------------------------------------------------------------------
tcsh            always			.tcshrc or
					.cshrc
                login			.login
-----------------------------------------------------------------------------
ksh             login			.profile
                interactive		.kshrc
-----------------------------------------------------------------------------
zsh		always			.zshenv
		login			.zprofile and .zlogin
		interactive		.zshrc
-----------------------------------------------------------------------------
bash		login			.bash_profile or
					.profile
=============================================================================


Arnaud Taddei, 8-Jul-1996