Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You should try fish shell. Great user experience out of the box, including history suggestions.

https://fishshell.com



The incompatible syntax of fish makes it a no go for me.

As an SRE, at my day job I often need to copy/paste commands that are generated from a playbook.

Our playbooks use Bash, and in practice Zsh is compatible. But a co-worker using fish often has to manually modify commands before running, and I'm not about that life.

The problem with fish is mostly the different syntax for setting variables and lack of heredocs. Sometimes the string substitution differences come up too.


SRE running copy pasted commands directly instead of a script or some automation solution? I don't think the problem is the shell...


Insinuating that my playbooks are bad or any other kind of incompetence without actually knowing anything about my service is simply being an asshole.


We have everything as scripts rather than one-liners so they work fine no matter which shell you're using.


In our case, we often have complex decision trees to diagnose issues before we get into the ops. Our playbooks are very thorough with details about all of these debugging techniques.

You can never completely automate the debugging step: it often requires human judgement to direct the investigation in ways that can't really be expressed in a script.

The friction of the shell comes up not in executing the ops, which we do in fact have heavy automation around, but in all the little pieces of debugging has to happen to tell you what ops need to be done.

(If you get paged and the solution is to skip the debugging step and run a script, then why didn't you automate the script so that you don't get paged in the first place?)


Exactly. Variable assignment works different in Fish, and it’s very hard to change that habit. With my usage of shell (with Fzf & zoxide), fish simply doesn’t improve much for me. I’m using bash constantly for my job, and having the same syntax in my shell is important




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: