xela: Photo of me (Default)
[personal profile] xela
Today, for the first time in quite a while, I spent the day pretty much uninterruptedly sitting in front of the computer geeking. The net result of which (this is going to be greek to some of you) is that I have a half-dozen freshly minted dotfiles, a new favorite terminal emulator that does what I want the way I want (mrxvt), and have finally, after over fifteen years using tcsh as my login shell, switched over to bash. (It made sense to go with tcsh BITD. It stopped making sense probably five years or so ago, and I haven't switched earlier largely due to inertia. I like my customizations. But today I decided to just sit down and do it. And now it's done.

It was kind of nice to spend a day grinding away on this sort of stuff. Though it no doubt helps that I don't have a steady diet of it.

Date: 2007-03-11 06:34 am (UTC)
siderea: (Default)
From: [personal profile] siderea
It must be dotfile week!

So, uh, what do you like about bash over tcsh? I'm still using tcsh.

Date: 2007-03-11 12:26 pm (UTC)
From: [identity profile] yakshaver.livejournal.com
Well, first a little history. I started using tcsh because of its superior interactive features. It's hard to be sure at this distance that I'm correctly remembering what those were, but for instance I know that standard sh of that era didn't have history (in the sense of being able to recall prior commands with up-arrow, edit them, and reuse them) or tab completion. I'm pretty sure csh didn't either. bash may have been comparable, but it wasn't always installed on the systems I was using, while tcsh was. And then I got an Athena account, with all its tcsh bias.

A few years later I found myself making my living herding unix boxen, which meant doing a fair amount of shell scripting. I assume you're familiar with csh-whynot? It's all true, so I found myself scripting pretty much on a daily basis in a shell entirely different than my interactive shell. And there started to be a certain amount of thinking it would be nice if my interactive shell were my scripting shell, so I could just start typing when I needed to try out a scripting idea, and so the familiar commands and syntax I used every day would be available to me in scripts. But all the scripting I was doing had Solaris' crippled /bin/sh as its least common denominator, so there was really no temptation to switch my interactive shell to my scripting shell. But there was a fair bit of temptation to switch it to bash, which is a superset of /bin/sh. Just not enough to overcome my inertia.

Over the year bash displaced tcsh as the most popular shell among geeks, so better community support also provided some counter to the inertia. One of what have turned out to be the few good things about leaving TERC is that I no longer have to deal with Solaris. On three of the four platforms I regularly use these days, bash comes pre-installed as the default login shell. And /bin/sh on those platforms is in fact a link to bash (which behaves posixly when called as /bin/sh). And on the other platform, /bin/sh is nearly a feature clone of bash. With Solaris out of the equation, the only friction remaining was my own inertia. I eventually decided to overcome it. It turned out to be far less work than I had imagined.

Date: 2007-03-11 07:46 pm (UTC)
ckd: (cpu)
From: [personal profile] ckd
As I recall it, when I started doing Unix stuff in the late 1980s, csh on some variants had a completion mechanism using ESC, but no command line editing. sh, of course, had neither. bash was sufficiently new at the time that it may not have had all that many features yet, and was also less likely to be available.

Scripting was less of a pull for me, since I'd moved to perl fairly early on for that.

I've actually made a very slight move bashward of late. Since Mac OS X changed the default shell in 10.4, new installs (though not upgraded ones) have resulted in my user shell being bash, and I've felt no need to change it back. OTOH, my FreeBSD boxes still have their default shell as tcsh; that seems to be another BSD vs SysV/Linux style difference.

Date: 2007-03-11 08:35 pm (UTC)
From: [identity profile] yakshaver.livejournal.com
> ... that seems to be another BSD vs SysV/Linux style difference.

Nah. It's license wanking. The BSDs have a political commitment to the Berkeley license, accompanied by a visceral hatred of the GPL and a deep resentment of the fact that they have to use GPL stuff to make their projects go. And tcsh has long been the most featureful BSD-licensed shell. Aside from all the other good things about Mac OS X, Apple has done the world a favor by putting together a BSD Unix free of ideology.

BTW, do we know each other in real life? I feel like we must, but I can't for the life of me figure out who you are from your LJ.

Date: 2007-03-11 08:45 pm (UTC)
ckd: (cpu)
From: [personal profile] ckd
License choice is as much a part of "style" as anything else, I think. (Such as the differences between Linux distributions based on their tolerance of "non-free" components.)

We've met at BBLISA and whatnot. (My profile page has my PGP key, complete with both full name and email addresses.)

Date: 2007-03-12 04:02 am (UTC)
siderea: (Default)
From: [personal profile] siderea
I assume you're familiar with csh-whynot?

No, actually, that's news to me. You mean it's not just me?

Profile

xela: Photo of me (Default)
xela

November 2022

S M T W T F S
  12345
6789101112
13141516171819
202122 23242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 27th, 2026 11:50 am
Powered by Dreamwidth Studios