# Difference between csh and tcsh



## hashime (Sep 5, 2015)

Hello

Could someone explain to me the difference between tcsh and csh?
Basically its the same binary?


----------



## freethread (Sep 5, 2015)

The C shell is an interactive shell, not used for scripting, for that sh is the way. tcsh is maintained and implements new features over csh. In the man page (it's unique for both tcsh and csh, they are the same on FreeBSD) you will find a plus sign ('+') for features implemented by tcsh that aren't in csh or behave differently.


----------



## junovitch@ (Sep 5, 2015)

The Wikipedia article is a good read for a C Shell history lesson (https://en.wikipedia.org/wiki/C_shell).


----------



## hashime (Sep 5, 2015)

My question arises more from the fact that the binaries on FreeBSD are the same, it's not so much about the differences between different Shells.


----------



## kpa (Sep 5, 2015)

The set of features and capabilities of csh(1) is a proper subset of those of tcsh(1). It is easier to just use only the latter and hardlink /bin/csh to it. This avoids the burden of having to maintain two different shells that are very similar and the other one is just an extension of the other.

Interestingly OpenBSD has only csh(1) and to me it looks like it's the real Csh from the old days.


----------



## protocelt (Sep 5, 2015)

If someone is really set on using the original(ish) C Shell for whatever reason, it is available in ports: shells/44bsd-csh


----------

