User: Password:
Subscribe / Log in / New account

Fish - The friendly interactive shell

Fish - The friendly interactive shell

Posted May 19, 2005 6:43 UTC (Thu) by komarek (guest, #7295)
Parent article: Fish - The friendly interactive shell

I was fairly sceptical about the utility fish when I read that the syntax wasn't that of a major accepted shell. However, the changes from bash are more compelling than I anticipated. Had I ever made a list of my problems with bash (note, I really like bash), it would have been almost identical to the change list for fish.

I wonder whether fish is a bit like Esperanto -- the right idea, for the right reason, but never attracting enough support to really be useful. C is also 30 years old, with some updates, and it hasn't really been dethroned. Age is obviously not a compelling reason for users to change tools. I am unlikely to switch to any shell that isn't the default for exec (or a superset like bash). I don't even think csh is a good idea.

I do have one suggestion. Never under any circumstance draw blue text on a black background (cyan is probably okay). Not only is it hard to read, but you'll probably get a (well-deserved) rant from editor Jon Corbet as well.

(Log in to post comments)

Fish - The friendly interactive shell

Posted May 19, 2005 8:18 UTC (Thu) by liljencrantz (guest, #28458) [Link]

The fish syntax is very, very small. It can be picked up in just a few minutes by someon who can already program. Since almost all syntax errors result in displaying a help page describing the syntax of the command that was misused, people who already know how to use a shell should be able to wing it.

At least, I hope that is the case.

Fish - The friendly interactive shell

Posted May 19, 2005 21:25 UTC (Thu) by EV (subscriber, #5528) [Link]

Looks good, I was just thinking about the need for a more user friendly shell the other day. Wonder how long before a gentoo e-build shows up...

Just compiled the 1.9.1 release on my laptop. Make test failed test3 because fish is not in my PATH. a change to ../fish seemed to work.

Also, your e-mail address on the fish home page doesn't seem to be working that well, keeps saying:

Message cannot be accepted, virus found (in reply to end of DATA command

Don't think yahoo is auto sending a virus, but I could be wrong ;-)

Keep up the good work,


Fish - The friendly interactive shell

Posted May 19, 2005 23:07 UTC (Thu) by liljencrantz (guest, #28458) [Link]

Oops. That address has been acting up lately, marking lots of things as spam and what not. You can try using this address: liljencrantz at gmail dot com.

I'll start working on a real, good test suite after I finish the syntax additions described in the article.

Fish - The friendly interactive shell

Posted Dec 5, 2005 22:52 UTC (Mon) by dberkholz (guest, #23346) [Link]

> Wonder how long before a gentoo e-build shows up...

Probably about 6 1/2 months, since I just came across this in an article in some Linux magazine and added it.

Fish - The friendly interactive shell

Posted May 20, 2005 23:57 UTC (Fri) by kingdon (guest, #4526) [Link]

Well, yes, non-POSIX shells live in a different niche than POSIX shells. This niche overlaps somewhat with perl and other languages that people sometimes use to invoke programs and hook them together and munge their output and such.

But the last such attempts that I remember seeing (of ones that try to be shell-like) were rc and es.

Fish - The friendly interactive shell

Posted May 21, 2005 10:38 UTC (Sat) by liljencrantz (guest, #28458) [Link]

I wouldn't say tcsh lives in a different niche than bash.

Obviously, Perl and shellscript have a large overlap, but Perl is suited for many programming tasks where shellscript would be a terrible idea, and Perl is pretty far from suitable as an interactive shell. Attempts to create a Perl-based shell, like Zoidberg, haven't really attracted any users that aren't hardcore Perl lovers.

Fish - The friendly interactive shell

Posted May 27, 2005 14:19 UTC (Fri) by liljencrantz (guest, #28458) [Link]

Regarding the age of C, I don't think the analogy holds. When C was released it was a high level language, but nowadays it is considered a low level language. Many of the tasks that would have been suitable for C thirty years ago would be done in C++, Java, Python, Perl or Ruby today. C has definitely _not_ been replaced, but it has definitely got competition.

And as to C not changing, I don't think it's as clear cut as that. ANSI style prototypes, a greatly expanded standard library, enums, inline functions, const, new datatypes, the deprecation of goto, pragmas... I'd say that most of the issues with C have been corrected. What remains is a very small, very simple low level language. The POSIX shell syntax has some pretty fundamental issues that I don't think can be fixed by deprecating a few features and adding some new keywords and recomendations.

Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds