• Fisch@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      56
      ·
      2 months ago

      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.

    • inzen@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      2 months 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.

    • Tangent5280@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      2 months ago

      Search for whatever passes for a terminal in microslop machine

      Top result is Terminal from 2018

      As far as I can tell it is some kind of action thriller movie?

      0/10 garbage experience

      Movie was terrible also

  • yardratianSoma@lemmy.ca
    link
    fedilink
    arrow-up
    21
    arrow-down
    1
    ·
    2 months ago

    I have never really ever used bash and thought, "Man, I wish my shell was better . . . ". Using ctrl+r to recall past commands, using sudo !! to fix missing permissions and writing small bash scripts all work very well.

    That being said, if you use anything else, and you like it, I’m happy for you, but I do wonder, what leads people to other shells? What problems do they have with bash?

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      2 months ago

      To me, it genuinely makes a huge difference that I don’t have to manually press Ctrl+R for history search. Because 9 times out of 10, I accept a history suggestion from Fish where I did not think about whether it would be in my history.

      This includes really mundane commands, like cd some/deeply/nested/path/. You would not believe, how often I want to cd into the same directory.
      But I’ve also had it where I started typing a complicated docker run command and Fish suggests the exact command I want to write, because apparently I already ran that exact command months ago and simply forgot.

      • astro@leminal.space
        link
        fedilink
        arrow-up
        6
        ·
        2 months ago

        I used bash for 20 years and, while I obviously knew that there were alternatives, it never seemed necessary to switch. Tried fish on a whim a few months ago and I will never go back.

    • crater2150@feddit.org
      link
      fedilink
      arrow-up
      3
      ·
      2 months ago

      I switched to zsh at a time where completion for commands parameters except file paths in bash wasn’t really a thing, you could add some with a script, but they didn’t work well. I’m sure the situation has improved by now, but someone told me recently, there are still no descriptions for the completions. I find it very helpful and it saves me opening a man page a lot of times. For example, typing grep -<Tab> gives me this: 8167

      And now I’m so used to many little features (mostly around the syntax) that wouldn’t be a reason to switch on their own, that I find bash cumbersome to use.

    • phaedrus@piefed.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 months ago

      I script everything in bash, but for everyday use fish just has some modern QoL things that make it easier to get around. For me, specifically, it’s the way you can recall commands by seeing a ghost version of your history, as you type. You can even scroll through a filtered history if you’re part-way through typing some long command that matches what you have typed.

      Another neat thing, it does it’s best to predict what I want to type and remembers common locations, showing them as ghost text as well.

  • mlg@lemmy.world
    link
    fedilink
    English
    arrow-up
    18
    ·
    2 months ago

    Default zsh is just bash, you need to add all the fancy plugins to get it to do cool stuff

    fish is for people who don’t want to spend the time setting it all up and to just get a shell that has most of the QoL fetaures builtin.

      • daggermoon@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        I tried switching to Nushell but certain things just wouldn’t work so I switched back to zsh. sha512sum wouldn’t work and there’s no native replacement.

        • crater2150@feddit.org
          link
          fedilink
          arrow-up
          1
          ·
          2 months ago

          Isn’t sha512sum a regular binary, that should not depend on the shell at all? What does nushell do that something like that can break o.O

          • daggermoon@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            2 months ago

            Probably. I think it had something to do with how it’s invoked in Nushell. I think it requires typing something different than what I’m used to. I searched it up and couldn’t find an answer and got pissed off and went back to Zsh. I’m not blaming Nushell, it’s just not for me. Nushell does have it’s own binaries for sha256 and md5, but I prefer sha512 even though it literally doesn’t matter for my use case.

    • Tangent5280@lemmy.world
      link
      fedilink
      arrow-up
      10
      ·
      2 months ago

      Brave stand, I will stand side by side with you until the first signs of mild resistance or mockery from the world!

      • ulterno@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 months ago

        Well guess what?

        #include <string.h>
        #include <iostream>
        
        int main (int argc, char *argv[])
        {
        	const int which = strcmp ("zsh", "bash");
        	std::cout << which << std::endl;
        	return 0;
        }
        

        Output
        1

  • muusemuuse@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    10
    ·
    2 months ago

    I literally do not notice any difference. If the folders and such get the pretty colors and tab works, I could give a damn.

  • juipeltje@lemmy.world
    link
    fedilink
    arrow-up
    10
    ·
    2 months ago

    I never tried anything other than bash tbh. Not sure if i should. I never really looked into what i might be missing out on with a different shell. Bash just works so i never felt like messing around with it.

    • TheTimeKnife@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      2 months ago

      Features and default settings, but its really just about preference. They are all good at what they do.

      Also im only saying this because it confused me for so long, but shell and terminal are different parts of the same thing. Bash is your shell, its the backend that runs everything you type into your terminal. My computer for example uses my kitty terminal which communicates in bash. You can change both the shell and terminal. Zsh is another shell, so it would change the “shell language” you use to communicate with your terminal.

    • kartoffelsaft@programming.dev
      link
      fedilink
      arrow-up
      4
      ·
      2 months ago

      There can be a ton of reasons, albeit I personally also just stick with default (for me zsh). In typical linux user fashion I also must tell you that bash and zsh are shells, not terminals.

      The two main reasons you’d choose a particular shell is because you prefer it’s configurability or syntax. Zsh has a bunch of features that you can enable and you can configure it to behave basically however you want, like adding spelling correction or multiline editing, but it’s defaults absolutely suck unless your distro comes with a sensible config. Fish, which another guy here’s raved about, goes in basically the opposite direction and is really nice to use out of the box (I haven’t used it though). I hear it’s technically not a valid /bin/sh substitute like zsh or bash because of syntactic differences, but that’d be a whole other rabbit hole if true.

      One other reason can be performance concerns because bash is pretty slow when treated as a programming language, but I’d argue you shouldn’t organize your workflow so that bash is a performance bottleneck.

  • zen@lemmy.zip
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    2 months ago

    I don’t mind /bin/zsh.

    Now Oh My Zsh! on the other hand can die in a hole.

    • uid0gid0@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      2 months ago

      It’s the index on 1 that ruins it for me.
      Edit: come to think of it what would zsh print out for echo $0?

      • rtxn@lemmy.worldM
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        It follows the same convention as most programming languages that expose the argument list. Python’s sys.argv has the program name at index 0 and the first argument at index 1. C’s char **argv does the same: index 0 is the program name, index 1 is the first argument. So it stands to reason that Zsh’s $0 should be the program name and $1 should be the first argument…

        …which, by the way, is exactly what Bash does as well.