The sys admin's daily grind: Fish
Fishy Business
Columnist Charly serves up Fish as the "shellfish" of the day. His conclusion: tasty, but not something you would want every day.
The Friendly Interactive Shell (Fish) [1] is something that attentive readers of this magazine might recall from the "Tool Tips" series [2]. Since then, I've played around with it on a couple of my computers, and here's what I discovered. I immediately enjoyed the well-functioning prediction function. If part of a command is unclear, Fish highlights it in red (Figure 1). At the same time, the shell offers suggestions on how to proceed.
History from Man Pages
Out of the box, Fish derives its recommendations from the history. If I enter the command fish_update_completions
at the command line, Fish slogs its way through all the installed man pages – there are nearly 2,000 on my Ubuntu lab machine – and builds a database (Figure 2). Fish then references them to find additional suggestions for autocompletion.
On the project page [1], the authors may flirt with retro charm – "Finally, a command line shell for the 90s" – but there is much more to Fish than a green-on-black look. On the contrary, Fish is as colorful as the denizens of a coral reef. Commands, parameters, paths, special characters – everything has its own hue from a palette of 256 "glorious VGA" colors.
Of course, I could tune each color assignment at the command line, but you'd need to be a real ichthyophile to enjoy all that manual tuning work. Normal users would do better to navigate to lighter fishing grounds. The fish_config
command, for example, starts a mini-web server on port 8000 and let you calibrate the colors – and much more – in a browser to suit your taste (Figure 3).
Fish Dish
If you type help
, you are again taken to a browser window where you can scroll through the very extensive documentation – or maybe not, if you are working on a server without X11. What I miss most is Ctrl+R, the full-text search in your own history. I use this function dozens of times a day, but not on Fish, where I just run into the aquarium wall every time I try to use the shortcut.
Because of this, and because full Bash syntax is missing for scripting, Fish is not a good choice of default shell, in my opinion. However, this denizen of the deep works well in its own habitat, thrills with its brilliant colors, and offers several very attractive features – all of them pearls that I would enjoy seeing in Bash.
Infos
- Fish: http://fishshell.com
- "Tool Tips" by Uwe Vollbracht, Linux Magazine, October 2013, pg. 30: http://www.linux-magazine.com/Issues/2013/155/Tool-Tips
Buy this article as PDF
(incl. VAT)