this post was submitted on 12 Jan 2026
302 points (90.2% liked)

linuxmemes

28845 readers
1381 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
  • Don't get baited into back-and-forth insults. We are not animals.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn, no politics, no trolling or ragebaiting.
  • Don't come looking for advice, this is not the right community.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
  • 5. πŸ‡¬πŸ‡§ Language/язык/Sprache
  • This is primarily an English-speaking community. πŸ‡¬πŸ‡§πŸ‡¦πŸ‡ΊπŸ‡ΊπŸ‡Έ
  • Comments written in other languages are allowed.
  • The substance of a post should be comprehensible for people who only speak English.
  • Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
  • 6. (NEW!) Regarding public figuresWe all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations.
  • Keep discussions polite and free of disparagement.
  • We are never in possession of all of the facts. Defamatory comments will not be tolerated.
  • Discussions that get too heated will be locked and offending comments removed.
  • Β 

    Please report posts and comments that break these rules!


    Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.

    founded 2 years ago
    MODERATORS
    you are viewing a single comment's thread
    view the rest of the comments
    [–] null@piefed.nullspace.lol 199 points 1 day ago (5 children)

    This is bait.

    And I'm ready to fish

    [–] KSPAtlas@sopuli.xyz 6 points 15 hours ago

    It's time for a nushell

    [–] Fisch@discuss.tchncs.de 81 points 1 day ago (3 children)

    Currently using zsh but I installed fish yesterday to try it out because I'm thinking of switching. All the zsh plugins I have are basically just replicating what fish has by default anyway and fish might do it better.

    [–] fushuan@lemmy.blahaj.zone 2 points 3 hours ago

    The other way around, fish was implemented with the most popular zsh plugins in mind.

    [–] null@piefed.nullspace.lol 87 points 1 day ago

    Plus, look at your name!

    [–] joyjoy@lemmy.zip 27 points 1 day ago (1 children)

    Just whatever you do, don't ln -s /bin/fish /bin/sh

    [–] Flipper@feddit.org 3 points 1 day ago (1 children)

    Well a shell script that can only run with Nash should include !# bin bash in the header.

    [–] exu@feditown.com 13 points 22 hours ago (1 children)

    You assume everyone writes shebangs correctly. Also ideally you'd use #!/usr/bin/env bash

    [–] Jankatarch@lemmy.world 9 points 21 hours ago* (last edited 21 hours ago)

    I see.
    Proceed to write #!/bin/env bash

    [–] flandish@lemmy.world 23 points 1 day ago (1 children)

    what’s fish got? I’m liking zsh here but am always open to a distraction instead of getting work done. :)

    [–] null@piefed.nullspace.lol 34 points 1 day ago (2 children)

    Lovely OOTB defaults. I basically change nothing except the theme.

    Autocomplete, git context, etc. The QOL stuff you'd expect.

    [–] flandish@lemmy.world 6 points 1 day ago (3 children)

    oh interesting. will give it a shot. basically sounds like zsh plus omz?

    [–] Laser@feddit.org 11 points 1 day ago (2 children)

    Be aware that fish isn't a POSIX-compatible shell enough, so you have to adjust syntax.

    [–] rtxn@lemmy.world 20 points 1 day ago* (last edited 1 day ago) (1 children)

    That isn't incorrect, but it's not as important as people make it out to be. Linux isn't certified as POSIX-conformant either.

    People are way too stuck on POSIX regarding Fish specifically, but in shell scripting, POSIX compliance boils down to "can it run a pure sh script". Bash is compliant. Zsh is partially compliant and needs to set an option to emulate sh. Fish uses a different syntax and is not compliant; if that is a problem, don't execute sh scripts in Fish.

    POSIX compliance for shell scripts was important in the 80s and 90s when the #! directive wasn't as commonly implemented and every script might be executed by the user's $SHELL instead. That is no longer the case as virtually every Unix-like system's program loader supports #!.

    I use fish, but sometimes it acts weird. And lots of "just copy and past this command" kind of online solutions I have to put into bash.

    My main irk is when I want to forward a '*' to a program but have to escape it.

    [–] exu@feditown.com 7 points 1 day ago (1 children)

    That's why it's a shell for the 90s and not the 80s

    [–] Laser@feddit.org 3 points 1 day ago* (last edited 23 hours ago)

    It's a cool shell, I use it as a daily driver (though I'm keeping a close eye on elvish which syntactically is even further away from classic shell), but the comments read like fish is basically zsh. And while zsh is pretty close to bash, fish isn't.

    [–] Pika@sh.itjust.works 4 points 1 day ago* (last edited 1 day ago) (2 children)

    This is a good way of putting it. It's essentially ZSH with Autosuggest/complete and a theming agent. At least visual-wise.

    When you get into the scripting and the hot keys aspect of it, they reinvent the wheel and everything is different., Like for example ,!! and other bangs(I think that's the right word?) like that are not valid on fish, And everything to do with variables is different from adding to your path to setting variables to creating functions. Also checking your error code is going to be different as well as it doesn't follow the $x style inputs and doesn't support IFS and globbing works differently.

    TLDR; fish is nice, but If you use it unless you want to relearn an entire type of language, keep your scripts on bash or zsh

    or if you wanna see the bigger differences fish has a dedicated bash transition page

    [–] Digit@lemmy.wtf 1 points 3 hours ago (1 children)

    I never managed to learn bash's ways in my first decade of using it, learning fish a decade ago was easy by comparison. So much more human readable and sensible and consistent. Even though fish is the friendly interactive shell, I now use it for all my scripting too.

    [–] Pika@sh.itjust.works 1 points 30 minutes ago

    That was the exact opposite with fish. I had already gotten fairly well first with bash by the time I started using it, and the way fish did it was just super counterintuitive to me.

    I couldn't get into the overall design of how it looked and I disliked how command substitution and the built in's worked, Combined with the fact that it's a lesser used shell, so there's less information available on it. I just couldn't do it.

    You brought up a point though. That makes me ask. You must not have to share your scripts with anyone then, right? Fish has a very small user base in comparison to ZSH and Bash and when I make a script that's more advanced I tend to want to share it with my friends and having them install a whole new shell just to run a script is just not helpful to me. ZSH is close enough to bash in compatibility that, generally speaking, if I want to share it, I can use zsh And then convert the minor discrepancies. Where with fish I have to redo the entire script.

    [–] flandish@lemmy.world 2 points 21 hours ago

    thanks for the detail!!

    [–] null@piefed.nullspace.lol 2 points 1 day ago

    Yup, very similar! And quite customizable as well if you want to. But the focus is on having, by default, a friendly interactive shell.

    I like that I can spin up a VM, install fish, chsh and I'm all set.

    [–] ark3@lemmy.dbzer0.com 3 points 1 day ago (1 children)

    does fish have fuzzy reverse hostory search?

    [–] null@piefed.nullspace.lol 6 points 23 hours ago

    Looks like that is indeed the default option

    [–] prole@lemmy.blahaj.zone 5 points 1 day ago (2 children)

    Fish is great if you can't remember a specific command, or don't want to type out long filenames/locations, but I dunno if I'd use it as the default.

    I just type "fish" in the terminal if I ever run into a situation where I might get some use from it.

    [–] Digit@lemmy.wtf 1 points 3 hours ago

    in my ~/.bashrc

    # if interactive, launch fish
    [[ $- != *i* ]] && return || fish
    

    and

    alias f='fish'
    

    So fish is my default, and if I ever need bash, it's already there underneath, just a Ctrl-d keybind away to fall back on, and if I want to get back into fish, it's just a f & RETURN away.

    Seems better to have all the convenience of fish up front. All the completion magic. I so rarely have to type much at all.

    [–] null@piefed.nullspace.lol 8 points 1 day ago

    I used to do that, until I realized I never had a usecase for plain bash over fish

    [–] inzen@lemmy.world 1 points 19 hours ago

    I jumped from bash to fish because cachy os has it as default. I kinda don't like it, it's a little too fancy, but it's not bad enough for me to bother switching the default to bash. So I'm using it. Still not quite liking it but maybe it's growing on me.