Slashdot Mirror


Which Shell Do You Prefer?

Pascal de Bruijn asks: "I recently started to use NetBSD, the first thing I noticed was that it didn't have a command-line history. So I immediately wanted to switch my shell, being on BSD my first instinct was to change to tcsh, but many people told me it wasn't any good. Others recommended zsh. I would really like to hear your opinions about shells." The submitter is particularly interested in shell memory usage, and the features you like...and dislike...from the current options that are available, today.

3 of 138 comments (clear)

  1. command line history by eXtro · · Score: 5, Informative

    did you try enabling it, it's off by default

    set history=1000
    - or maybe -
    history = 1000
    - or possibly -
    set history 1000

    I've never seen a shell without command line history, but I've logged into a lot of places where it wasn't turned on by default.

  2. A few more details by devphil · · Score: 5, Informative


    Some random facts:

    • Anyone spending more than a brief amount of time on a *nix system should learn how to use the basic sh commands, even if it's not their login shell? Why? Because 1) most system-level scripts are written in sh, and 2) when major programming languages perform a "shell" call, e.g., system(), it uses sh to do the work.
    • There is a POSIX specification of sh which cleans up all the wacky historical bugs. The resulting shell is actually ksh.
    • The csh/tcsh family were originally meant to be more friendly to programmers (a C-style syntax), but it all seriously backfired. Every other shell allows the user to write subroutines. Not csh. Instead, you get a goto command. No, I'm not joking.
    • tcsh is just some user-friendly features added to csh, but the annoyances and lack of comparative features just doesn't make up for it.

    The only real choices today as far as user login shells go are bash 2.x, ksh (ksh93, not ksh88), and zsh, all of which continue to cross-pollinate good ideas.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  3. UNIX shell FAQ by scubacuda · · Score: 5, Informative

    While surfing the web for FAQs on UNIX shells, I came across this popular FAQ on the differences between shells and how to choose.

    There's a great table in there that lists the features of each.