From: r02kar@rec01.desy.de (Karsten Kuenne)
Subject: Re: zsh was Re: tcsh in the future - what should it be like?
Organization: Deutsches Elektronen-Synchrotron, Hamburg, Germany.
	<yeates.711917604@beryl17>
Distribution: comp.unix.shell
Date: Fri, 24 Jul 1992 20:37:49 GMT

>>>>> On 23 Jul 92 18:53:24 GMT, yeates@rtsg.mot.com (Tony J Yeates) said:

	Tony> I've never used zsh, and haven't heard any rave-reviews ...
	Tony> is this something special or just another free shell?
	Tony> Whats the associated programming language like?  (If
	Tony> its not Bourne Shell, ksh, REXX, perl or csh compatible - forget
	Tony> it, there are too many shell language alternatives already!)

For all of you who never tried zsh this is the FEATURES file from
the zsh distribution :

very close to ksh/sh grammar, with csh additions
most features of ksh, bash, and tcsh
75 builtins, 73 options, 144 key bindings
short for loops, ex: for i (*.c) echo $i
select
shell functions
conditional expressions (test builtin, [ ... ], and ksh-style [[ ... ]])
global aliases (may be expanded anywhere on the line)
directory stack access with =num
process substitution (vi =(cmd) edits the output of cmd)
generalized pipes (ls foo >>(cmd1) 2>>(cmd2) pipes stdout to cmd1
  and stderr to cmd2)
arithmetic expressions
advanced globbing:
  ls **/file  searches recursively for "file" in subdirectories
  ls file<20->  matches file20, file30, file100, etc.
  ls *.(c|pro)  matches *.c and *.pro
  ls *(R)  matches only world-readable files
  ls *.c~lex.c  matches all .c files except lex.c
null command shorthands:
  "< file" is same as "more <file"
  "> file" is same as "cat >file"
  ">> file" is same as "cat >>file"
ksh-style coprocesses
automatic file stream teeing (ls >foo >bar puts output in two places)
chpwd() function run every time you change directory (useful for
  updating the status line)
job control
csh-style history
full vi line editing, including "c2w" and "y$" and such things
full emacs line editing
incremental history search
magic-space history
spelling correction
array parameters
$HOSTTYPE, $LINENO, $RANDOM, $SECONDS, $cdpath, $COLUMNS, $fignore,
  $HISTCHARS, $mailpath
with autocd option, typing a directory name by itself is the same as
  typing "cd dirname"
menu completion: pressing TAB repeatedly cycles through the possible matches
incremental path hashing
automatic process time reporting for commands that run over a certain limit
full tcsh-style prompt substitution
utmp login/logout reporting
with histverify option, performing csh-style history expansions causes the
  input line to be brought up for editing instead of being executed
with sunkeyboardhack option, accidently typed trailing ` characters
  are removed from the input line (for those of you with Sun keyboards :-) )
autoloaded functions (loaded from a file when they are first referenced)
"cd old new" replaces "old" with "new" in directory string
generalized argument completion, including:
  - command name completion
  - filename and path completion
  - hostname completion
  - key binding completion
  - option completion
  - variable name completion
  - user-specified keyword completion
prompt on right side of screen
directory stacks
history datestamps and execution time records
command scheduling (like at(1), but in the shell's context)
tty mode freezing
up to 9 startup files (but you only need 1 or 2)
8-bit clean
which -a cmd lists all occurences of "cmd" in the path


I personally first tried tcsh on my machine after the Bourne shell,
but after a while I became tired of the csh-like syntax. The next
shell I tried was Bash, the GNU Bourne Again SHell. This is a good
choice for a interactive shell. But some day I saw a zsh source
somewhere. In the beginning I was a little bit sceptic about this new
shell, but now I use zsh every day and I really learned to love some
of the zsh features !

The tcsh maintainers will have a hard time if they wanna put all
the features of zsh into the tcsh :-).

Karsten Kuenne.

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Karsten Kuenne, DESY (-R2-), Notkestr. 85, 2000 Hamburg 52, Germany
phone: +49-40-8998-3315
e-mail: <kuenne@desy.de>, <r02kar@rec01.desy.de>,
        <r02kar@dhhdesy3.bitnet>
Newsgroups: comp.unix.shell