Command Line Environment

The command line environment is provided through a shell; the default shell in the Supercomputing Wales (SCW) environment is bash. A shell is the textual interface in which the user issues commands through their keyboard which are evaluated and produce a response. When using the SCW command line remotely, the shell is running on the SCW system and the user’s machine is providing the network communications to it.

What is Bash?
Bash (the Bourne Again SHell) is the standard GNU command line interpreter. It combines features from prior shells for both interactive and programmatic use. Bash is available for many operating systems including UNIX variants and Microsoft Windows (via 3rd party packages such as Cygwin), and is the standard shell in most Linux distributions. Many guides are freely available on using and customising bash, and are easily discoverable via a web search engine.

Modules

A consistent modular software environment is available on all SCW clusters. This allows many different software packages and environments to co-exist. This does require you to choose the software package and the version that you wish to use. Environment modules provide an easy way for your shell’s environment (PATH, MANPATH, INCLUDE, LD_LIBRARY_PATH, etc.) to be customised on the fly.
The module command is generally self-explanatory. The most common commands are:

  • module avail
    • This command will list the modules currently available on the system
  • module list
    • Will list the modules loaded in your session
  • module load
    • Load a new module into your current session
  • module unload
    • Remove a module from your current session
  • module purge
    • Unload all modules
  • module show
    • Show the effective contents of a particular module

Can I Pre-Load Modules in .myenv?

The simple answer is yes; however, this should be done with caution. If you are using multiple versions of the same software, it is good practise to manually load the modules or add them to your submission scripts. Adding module calls to .myenv can lead to odd behaviour with your compilations if you forget they are loaded.
It is recommended that you keep modifications to .myenv to a minimum. You should attempt to make modifications in your job submission scripts manually when you login or through a shell script. If you would like further information on this (or how to create a shell script to load modules) please contact the Support Desk.

Customising Bash

On most Linux Systems customising the Bash shell can be achieved through editing of the .bashrc file.
However, on SCW systems this file may be overwritten by the system. If you wish to make a permanent change to your shell please use .myenv (which is located in your home directory).
The same syntax and commands can be utilised when customising .myenv as would be used in .bashrc.

Can I use a Different Shell?

There are many shells available under Linux such as:

  • Bourne shell
  • Korn shell

While there is no stipulation that you have to use the Bash shell, Bash is the only shell fully supported by SCW. Software Applications and commands in all documentation, user guides and training are carried out and tested using the Bash shell. If you choose to use a different shell you do so at your own risk.
While SCW will do its best to assist you with any technical issues you experience, if you use a different Shell you may be asked to switch back to the Bash shell and replicate the customisations.

Changing your Password

You will be required to change your password on your first login to a SCW system and at regular intervals when prompted. However, should you wish to change your password before the system requests you to, you should issue the following command:

$ passwd

You will be asked to type your existing password and your new password twice. Your new password will need to contain at least one capital letter and a number, and should be a minimum length of eight characters. Changes to your password are instantly synchronised to all SCW systems.