#### Beyond Linux® From Scratch (systemd Edition) - Version r13.0-491

### Chapter 7. Shells

- Prev

  Dash-0.5.13.3

- Next

  zsh-5.9

- Up
- Home

# Tcsh-6.24.16

## Introduction to Tcsh

The Tcsh package contains “an enhanced but completely compatible version of the Berkeley Unix C shell (csh).” This is useful as an alternative shell for those who prefer C syntax to that of the bash shell, and also because some programs require the C shell in order to perform installation tasks.

### Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

### Package Information

- Download (HTTP): https://astron.com/pub/tcsh/tcsh-6.24.16.tar.gz

- Download MD5 sum: 448f53f12544abb627c9f078373b8ff5

- Download size: 936 KB

- Estimated disk space required: 11 MB (with tests)

- Estimated build time: 0.2 SBU (with tests)

## Installation of Tcsh

Install Tcsh by running the following commands:

    ./configure --prefix=/usr &&
    make

To test the results, issue: make check.

Now, as the `root` user:

    make install install.man &&

    ln -v -sf tcsh   /bin/csh &&
    ln -v -sf tcsh.1 /usr/share/man/man1/csh.1

## Command Explanations

ln -v -sf tcsh /bin/csh: The FHS states that if there is a C shell installed, there should be a symlink from `/bin/csh` to it. This creates that symlink.

## Configuring Tcsh

### Config Files

There are numerous configuration files for the C shell. Examples of these are `/etc/csh.cshrc`, `/etc/csh.login`, `/etc/csh.logout`, `~/.tcshrc`, `~/.cshrc`, `~/.history`, `~/.cshdirs`, `~/.login`, and `~/.logout`. More information on these files can be found in the tcsh(1) man page.

### Configuration Information

Update `/etc/shells` to include the C shell program names (as the `root` user):

    cat >> /etc/shells << "EOF"
    /bin/tcsh
    /bin/csh
    EOF

The following `~/.cshrc` provides two alternative colour prompts and coloured ls output. If you prefer a global modification, issue the command as the `root` user, replacing `~/.cshrc` by `/etc/csh.cshrc`.

    cat > ~/.cshrc << "EOF"
    # Original at:
    # https://www.cs.umd.edu/~srhuang/teaching/code_snippets/prompt_color.tcsh.html

    # Modified by the BLFS Development Team.

    # Add these lines to your ~/.cshrc (or to /etc/csh.cshrc).

    # Colors!
    set     red="%{\033[1;31m%}"
    set   green="%{\033[0;32m%}"
    set  yellow="%{\033[1;33m%}"
    set    blue="%{\033[1;34m%}"
    set magenta="%{\033[1;35m%}"
    set    cyan="%{\033[1;36m%}"
    set   white="%{\033[0;37m%}"
    set     end="%{\033[0m%}" # This is needed at the end...

    # Setting the actual prompt.  Two separate versions for you to try, pick
    # whichever one you like better, and change the colors as you want.
    # Just don't mess with the ${end} guy in either line...  Comment out or
    # delete the prompt you don't use.

    set prompt="${green}%n${blue}@%m ${white}%~ ${green}%%${end} "
    set prompt="[${green}%n${blue}@%m ${white}%~ ]${end} "

    # This was not in the original URL above
    # Provides coloured ls
    alias ls ls --color=always

    # Clean up after ourselves...
    unset red green yellow blue magenta cyan yellow white end
    EOF

## Contents

Installed Program: tcsh
Installed Libraries: None
Installed Directory: None

### Short Descriptions

tcsh | is an enhanced but completely compatible version of the Berkeley Unix C shell, csh. It is usable as both an interactive shell and a script processor

- Prev

  Dash-0.5.13.3

- Next

  zsh-5.9

- Up
- Home