I have used bash, zsh, ksh, and now powershell. I am by no means an expert on UNIX shells. I could get all my work done on any one of these. My main shell is Zsh with some oh-my-zsh plugins because I’m lazy. What can you do in powershell that you can’t do in any other shell? Also, does the shell you use even matter? Sorry if this is a dumb question.

  • daggermoon@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    9 days ago

    I forgot about fish. I’ve read it isn’t POSIX compliant. It’s my distro’s default shell but I really didn’t feel like using it so I installed zsh instead. I mostly use Zsh because it’s a lot easier to find unformation about it online. I don’t currently write shell scripts but I may wish to in the not-so distant future. Is Zsh a good choice for that? Thank you!

    • Nester@feddit.uk
      link
      fedilink
      English
      arrow-up
      9
      ·
      9 days ago

      You can whatever shell you like and still write scripts in bash, as bash is a part of (practically) every system. When you write a .sh script the first line will indicate which shell to use, so you can run bash scripts from any shell so long as you have it installed.

      • F04118F@feddit.nl
        link
        fedilink
        English
        arrow-up
        4
        ·
        9 days ago

        This is the way! I also like using zsh with oh-my-zsh as an interactive shell, but I still write my scripts in Bash. They can run anywhere (and most scripts you’ll find online are also in Bash)

        • astrsk@fedia.io
          link
          fedilink
          arrow-up
          3
          ·
          9 days ago

          Yup, same. I prefer zsh and omz, but I write all my shell scripts in bash for portability and compatibility.

      • notfromhere
        link
        fedilink
        English
        arrow-up
        2
        ·
        8 days ago

        The #!/bin/bash thing (first line) is called the shebang and it can use any application not just shell, so that means Python or PowerShell or any other tool.