

Fish - The friendly interactive shell - gnosis
http://lwn.net/Articles/136232/

======
astine
This is an older article. It seams to list a few ways that Fish attempts to
improve on older shells, but appears to be a little out of date.

Fish has a nice design document that gtive a better understanding of what it
is about: <http://fishshell.org/user_doc/design.html>

Fish's real advantages isn't so much it's list of features, but the fact that
they come pre-configured. That, and the fact that Fish sacrafices backwards
compatiblity with other shells to make a cleaner command language and a more
manageable environment. I like being able to configure an environment variable
without tinkering with my .bashrc or .profile. Granted, I can't easily
reasonably install it on the solaris machines at work, but it doesn't make my
home computing environment much nicer.

------
whirlycott1
The programmability of a shell just isn't interesting to me. Whenever I start
hacking a shell script, it either starts out as just two or three lines or it
evolves to the point where I feel like I need a "real" language. At that
point, I'll end up hacking it in perl or python.

In the meantime, I'm happy enough with bash.

~~~
jimbokun
I would like to see the interactive Read Eval Print Loops of one of these
languages finish closing the gap and become good shell replacements. I find I
can get close to that sometimes with interactive programming environments, but
not quite.

~~~
gjm11
Well, there's scsh (<http://www.scsh.net/>), but it's not under active
development any more.

~~~
stuntmouse
Which is a shame.

I just found shelisp [1] which, despite the questionable name, looks simple
and promising.

[1] <http://dan.corlan.net/shelisp/>

------
christopherolah
I posted a couple of hacks for fish here:
[http://christopherolah.wordpress.com/2009/06/13/a-couple-
fis...](http://christopherolah.wordpress.com/2009/06/13/a-couple-fish-hacks/)

------
mattyb
Related comments here:

<http://news.ycombinator.com/item?id=811113>

------
jsz0
I use fish on all my machines at this point. It's nice to have really smart
auto-completion. I know bash can do some of this if you configure it correctly
but I'm all about reasonable defaults. I can't be bothered with lots of
configuration changes on every machine I touch.

One word of warning, and this probably applies to any shell, you should keep
one of your sudoers on bash or sh. I've had a few occasions where something
broke fish so when I logged into the machine via ssh I would see a few error
messages and the session would terminate when the shell died locking me out of
the system. I never figured out what broke fish in the first place but it's
taught me the value of having a fallback user/shell for emergencies.

~~~
pyre
> _I can't be bothered with lots of configuration changes on every machine I
> touch._

Every machine you touch may not have the option of fish. Having a reasonable
.bashrc (and even .cshrc -- I've been on machines where bash was broken) is
key to doing any sysadmin/dev work on linux/unix boxes.

~~~
silentbicycle
Right, the only standard shell is sh.

~~~
pyre
Most systems will have at least bash, csh or tcsh. I've yet to run across a
system that only had ksh or zsh (or something exotic).

------
travisjeffery
Fish is good but development has all but ceased on it.

