Skip to content

Comment on fish shell

Comments

The fact that you cannot redirect stderr to stdout and pipe to another command is a bit of a stumbling point for me. When I saw the bug[1] for the first time I thought that it must be some strange corner case, but it turns out it is a real bug. After reading the bug report I started to wonder if there were any other other unixy features that were missing. I/O redirection is a core unix concept in my opinion.

[1] "Redirect stderr to stdout and pipe doesn't work as expected" https://github.com/fish-shell/fish-shell/issues/110

It doesn't have process redirection either, and that's one I use a fair bit. For example

    paste <(hquery -q '//a/@href' x) <(hquery -q '//a' x)
Where hquery is one of my utilities for running xpath queries over loosely parsed HTML. This would produce a tab-delimited list of link urls to link text.

Try piping into psub, as in

    paste (hquery -q '//a/@href' x | psub) (hquery -q '//a' x | psub)
http://ridiculousfish.com/shell/user_doc/html/commands.html#...

It actually made me switch back to zsh. Pipe not working is just a no go for me. But overall, this is a great shell, very accessible compared to bash/zsh, I particularly appreciated the configuration mechanism.

What made me finally stop trying to use it is that you can't modify the environment of a command like so: HOWDY=pardner env.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.