[Ilugc] Common and Differing features in Shells

  • From: lug@xxxxxxxxxxxxxxxxxx (Chandrashekar Babu)
  • Date: Mon Sep 27 16:15:05 2010

On 27/09/10 2:12 PM, Akilan R wrote:

csh and tcsh should never be used.

Why? Any specific reasons?

csh and tcsh are broken by design/implementation.
A lot bourne-compatible scripts break on csh/tcsh.
Put in simple words, they are not fully bourne
shell compatible. Secondly, csh/tcsh are not even
POSIX compliant.

Kindly look-up the following URL:
http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/

POSIX standardized subset features of ksh88 -
which are implemented on most other shells like
pdksh, bash, dash and so on. Infact, some UNIXes
(BSDs in general) come with a POSIX compliant
shell replacing the default /bin/sh
(which traditionally used to be the bourne shell).

On many Linux distributions, bash replace /bin/sh,
on some distributions - it could be dash as they
are all POSIX compliant.


what do you mean by /bin/sh? It need not point to Bourne Shell always.
In Ubuntu it points to Dash as of now. It used to point to Bash, which is
also the case with Fedora.

See above.


It may also point to csh or tcsh. It points to whatever shell that is
the default
shell of that specific distro.

This is an indication of a totally broken distro that
needs to be fixed. By convention, /bin/sh on most
Linux/UNIX today must point to a POSIX compliant shell.

Cheers,
Chandrashekar.

-- 
Chandrashekar Babu
http://www.chandrashekar.info/

Other related posts: