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.
Needless to say, pdksh is available for OS X too but you need to download and install it.
It's great. Does exactly what I want out of a shell.
You are not alone. This is not normal. None of this is normal.
you can do updates from the command line...
as for emacs...
I found this:
http://www.porkrind.org/emacs/
In under three seconds. Geez...
And btw, It already is REAL unix, and not only is it the highest volume shipping version of unix on the planet, but apple did what NO other software company has been able to do in the 30+ year history of unix. The made it usable by the masses.
Care to give them at least an ounce of credit now?
Can you not change shells in OSX? If you can_ What's the big deal what the "default" shell is?
If you can't change shells_ then that's just plain weak.
You'll have that sometimes...
Am I missing something here?
Surely the aforementioned experienced users would know how to switch shells?
yes you can. Some people just like to complain. It makes them feel better or something...
just install whatever shell they wanted to use anyway? Im sure anyone that has shell scripting in mind also knows how to install their own shell the correctly right?
Chaos is Divine *
count me in for long-time tcsh users.
It's not that I'm die-hard fanatic over it, but when I started using Unix there was only tcsh as a comfort shell, no bash. And why switch when tcsh works well.
- Hubert
tcsh works perfectly well as an interactive shell. It has some severe problems when it comes to scripting, so I do my scripting in portable bourne shell.. but tcsh is perfectly functional as an interactive shell. I use it under linux, solaris, aix, hpux, and cygwin without issue.
That said, I'm not surprised that apple change to a bourne-compatible shell. Bourne has been the unix standard for a long time, so changing to this makes sense. It means that all of the unix examples out there will work out of the box and not have to be translated into csh syntax. This is probably a good thing. People can still exec tcsh if they like.
-molo
Using your sig line to advertise for friends is lame.
writing non-trivial scripts
I read the reasons not to use csh for scripting after I had spent about 10 years or so with csh from BSD days.
Even though I now run bash for an interactive shell (tcsh would probably be just as good with emacs style command line editing), I'm careful to limit myself to plain Bourne shell for scripts, since those are more portable than anything - I think that's why autoconf is successful.
The modern languages are good for serious scripting, as a glue language, for projects where you're willing to port the language and any needed libraries to the new platform.
But for a gopher build script, poking its head up in the dark of an unknown flavo[u]r of UNIX, sh is the True Path.
"Provided by the management for your protection."
What's so great about bash and/or zsh? Now that I've gotten used to tcsh I'm not sure why it should change. They all seem pretty much the same to me, except the do the same things in slightly different ways.
If you ask me, the default shell should be whichever one with a history that loads the fastest. Many os x users only use terminal.app for the occasional foray into command-line-only commands (like me). Waiting for your shell to load are precious seconds wasted.
---If you can't trust a nerd, who can you trust?
bash-2.04$ chsh
http://www.caliban.org/bash/index.shtml#completion
Blaming GW Bush for the Iraq war is like blaming Ronald McDonald for the poor quality of food.
I agree with you that for non-trivial scripts, Ruby, Perl, or Python
(my preference is Python) are better choices, but they are not always
available. In my case, we were writing scripts to automate machine
installation and weren't guaranteed to have more powerful tools
available to us on every platform.
Just because one tool is generally better doesn't mean it is appropriate
in every circumstance.
*sigh* back to work...
This is a mild gripe, but I'd like to see a version of "ps" that follows the Linux conventions for arguments. I work with three *nix operating systems: OS X, Linux, and HP-UX. The arguments are mostly the same between Linux and HP-UX, e.g. "ps -ef" for a listing of all processes. I invariably try typing that same command in OS X, only to remember, after being told that the arguments are invalid, that the equivalent command is "ps -ax". Annoying!
I agree it is a good thing. Doing development and testing on a number of hosts I have had to bounce back and forth between machines running Solaris, Linux, and MacOS X, and on these various machines (a dozen) I never used each account often enough to customize it. I was always banging my head against the desk over such basics as how to set an environment variable. I had finally pretty much gotten used to bash before hitting MacOS X. Yes, I know I could still use bash, but again I'm working on a half-dozen machines... how much time do I really want to spend customizing them?
And it's also true that people can write quite elaborate programs as shell scripts... but just because something CAN be done doesn't mean it should be done. Talk about non-orthoganal, idiosyncratic, hard-to-remember language constructs. I mean, someone could probably write an operating system in Cobol, but why would that be a good idea? Ruby is a good choice, and Perl is widely available. Umm... did I mention that it is widely available?
Do you, by any chance, happen to use an Apple Pro keyboard with your Mac? The one with the black keys? I'm pretty sure this is a quirk of that keyboard because it happens to me all the time, but ONLY on that keyboard. I finally gave up and put alias cdd cd in my .tcshrc.
On the subject of switching to bash, I've been using tcsh since I started with Unix 11 years ago. I'd be happy to switch, but I need to be able to translate all the 'comfort' features that I've grown accustomed to over the years. Those occasional times when I have to use a bash command-line, I find that it does do most of the features I like about tcsh (tab completion is by far the biggest; autocorrection rocks) but it's usually a bit different (I haven't bothered to read up on how to turn off the beep, which I hate!). Even if bash is so much better than tcsh, I'm still gonna need to have all my settings about the same, or I don't care if it's more powerful! :)
I may try it for a bit out of laziness when I get Panther, but then I wouldn't be surprised if I switch back to tcsh pretty quickly...
Say hello to zMac.
bash is GPL and zsh is Berkeley, Apple seemed to be afraid of GPL at the beginning and has taken a more practical stance more recently...
So yes, this is a fairly big deal. It also makes OSX how-tos easier to follow (many had tcsh-specific command-line instructions).
Si la vida me da palo, yo la voy a soportar Si la vida me da palo, yo la voy a espabilar
I just changed my default shell. who cares? I use bash. I always have and I always will. I've never once used tcsh in my year of having an OS-X machine.
If people are too ignorant to change their shell themselves, then they've peobably never even use a CLI.
Why don't they tell us about the real exciting stuff with 10.3?
The reason girls and Windows users don't understand UNIX is because all the documentation is in Man files.