Tcsh-6.19.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-7.7-systemd platform.

Package Information

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

Installation of Tcsh

First, fix the package for gcc5 optimizations:

sed -e 's/ i)/ k)/' \
     -e '/ k)/ i \   k = i;' \
     -e '/\*cp/ a \  volatile size_t k;' \
     -i tc.alloc.c

Install Tcsh by running the following commands:

sed -i 's|fR/g|&m|' tcsh.man2html &&

./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.19.00/html &&
install -v -m644 tcsh.html/* /usr/share/doc/tcsh-6.19.00/html &&
install -v -m644 FAQ         /usr/share/doc/tcsh-6.19.00

Command Explanations

sed -i 's|fR/g|&m|' tcsh.man2html: This updates some deprecated Perl code.

--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 are available 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 that 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.19.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 2016-01-23 20:04:18 -0600