Tcsh-6.20.00

#### Beyond Linux® From Scratch - Version 2019-02-27

### Chapter 7. Shells

- Prev

  Dash-0.5.10.2

- Next

  zsh-5.7.1

- Up
- Home

# Tcsh-6.20.00

## 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.

This package is known to build and work properly using an LFS-8.4 platform.

### Package Information

- Download (HTTP): http://fossies.org/linux/misc/tcsh-6.20.00.tar.gz

- Download (FTP): ftp://ftp.astron.com/pub/tcsh/tcsh-6.20.00.tar.gz

- Download MD5 sum: 59d40ef40a68e790d95e182069431834

- Download size: 980 KB

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

- Estimated build time: 0.2 SBU (with tests)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/tcsh

## Installation of Tcsh

First, fix the package for tool chain changes:

    sed -i 's|SVID_SOURCE|DEFAULT_SOURCE|g' config/linux  &&
    sed -i 's|BSD_SOURCE|DEFAULT_SOURCE|g'  config/linux

Install Tcsh by running the following commands:

    ./configure --prefix=/usr --bindir=/bin &&

    make &&
    sh ./tcsh.man2html

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 &&

    install -v -m755 -d          /usr/share/doc/tcsh-6.20.00/html &&
    install -v -m644 tcsh.html/* /usr/share/doc/tcsh-6.20.00/html &&
    install -v -m644 FAQ         /usr/share/doc/tcsh-6.20.00

## Command Explanations

`--bindir=/bin`: This installs the tcsh program in `/bin` instead of `/usr/bin`.

sh ./tcsh.man2html: This creates HTML documentation from the formatted man page.

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: /usr/share/doc/tcsh-6.20.00

### 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.

Last updated on 2019-02-18 15:07:03 -0600

- Prev

  Dash-0.5.10.2

- Next

  zsh-5.7.1

- Up
- Home