Slashdot Mirror


Apple Switches tcsh for bash

gklinger writes "AppleInsider is reporting that Apple has switched from tcsh to bash in the the latest developer build (7B44) of Mac OS X 10.3 (Panther). There is speculation that the switch was made to appeal to Linux users. Experienced users get pretty religious about their shells so what remains to be seen is how diehard tcsh users will react." I don't know about appealing to Linux users in particular, but I just don't know many people who prefers tcsh these days, on any platform. It seems like everyone is using bash or zsh.

2 of 265 comments (clear)

  1. Re:*CSH IS DYING by mcgroarty · · Score: 0, Flamebait
    Mac OS X is only a UNIX in the same sense that FreeBSD, OpenBSD, NetBSD, Linux and Cygwin are. They're all UNIX work-alikes, but some expensive compliance testing to be done and some unfriendly licensing terms stand in the way of it actually being UNIX. If you say it's close enough, then so is RedHat, which does more volume than Mac OS X.

    And last I checked, porkrind.org/emacs wasn't in the default install -- correct me if I'm wrong. That's a basic and common enough tool that it should already be present on any workstation where you're asked to sit down and work or help somebody else out.

    I give them more than an ounce of credit, but it'd still be among my last choices for a UNIX workstation without precustomizing every last seat I'm going to touch.

  2. Re:this is a good thing by JDizzy · · Score: 1, Flamebait

    Dude, you cannot be serrious, right? Nobody writes shell scripts in csh or tcsh because it is well known that they are both utterly unsuitable for shell scripting. And if your talking about a hetrogenious environment, then you should have known to script in the POSIX shell which is sh. If you want your scripts to work anywhere, you would never write the script in bash, csh, or tcsh. KSH, and SH are the only two real contenders for shell scripting. Anything above the ability of shell scripting is the realm of perl, expect, tcl, etc. TCSH is a users shell because its focus is on quick intuitive user input. TCSH is just like BASH in the way it is user friendly. The issue here is the fact that Finux ships with BASH as the root's shell, and all the BSD's (OS X included) have csh heritige starting with Bill Joy (the guy who first intigrated TCP/IP into UNIX, and is the CTO of SUN) when he inventd csh to replace sh, which sucks to use. Since tcsh replaces csh all the bsd's use that. For a nearly a decade (the 1980's) CSH was the shell of choise for unix admins. In that time the notion of one shell for typing in commands, and one for scripts. Then Korn wrote ksh to replace sh for portable scripting, but it was also a super good shell for user input, and it became the dominant shell for many years (88 to 95). Enter the FSF who wanted a shell that was GPL and as userfull as TCSH and KSH. In reality BASH is as usable as TCSH, yet less portable than any other shell for scripting, csh/tcsh excluded. In general, it seems that most Finux users have zero experience with any other shell aside from BASH since Finux is typically their first, and only ecounter with a Unix-like operating system, less they seek the enlightenment of *BSD. What is observed is that many folks who do break out of their Finux trainning wheels, still need to use BASH because of the constant typo's and eronious user-input, which they instinctivly go to the back-arrow. To seasoned Unix admins this is a quick way to identify inexperienced junior admins (aka folks who have to use BASH).

    That is the skinny on shell portability, and why we are at the point we are with shells.

    --
    It isn't a lie if you belive it.