• @BatmanAoD@programming.dev
    link
    fedilink
    36
    edit-2
    4 months ago

    You get admin privileges on MacOS like a big boy. You can use bash or zsh commands in Terminal all you want.

    Cool. So try updating to a version of Bash from the last 15 years, because the pre-installed one is Bash 3, because Bash 4 and 5 are under the GPLv3 license, which Apple won’t comply with.

    …ah, no, you can’t update the pre-installed Bash, because it’s on a section of the file system that is read-only even with admin access. You can install Bash 5 as a separate shell, and use that as your default terminal shell, but any scripts written with the standard #!/bin/bash instead of the more flexible #!/usr/bin/env bash will still use Bash 3.

    This “handholding” (or really, a safety net) is arguably a good thing, or at least a positive tradeoff; but you can’t claim it doesn’t exist.

    • @disguy_ovahea@lemmy.world
      link
      fedilink
      10
      edit-2
      4 months ago

      I agree it’s not as limitless as Linux, but there’s plenty of room for advanced users.

      I’ve never needed to use a newer version of Bash. What is an example of something one couldn’t do with Bash 3 or zsh?

      • @TheGalacticVoid@lemm.ee
        link
        fedilink
        84 months ago

        I get that this is an Apples to Oranges comparison, but Powershell 7 is way easier to use than the default Windows Powershell because of autocomplete. I imagine that newer versions of Bash have made improvements that are similarly powerful.

      • @BatmanAoD@programming.dev
        link
        fedilink
        34 months ago

        It’s not so much a problem of there being things you “can’t do” in other shells or older Bash, as that it breaks existing shell scripts, which is frustrating.

        • @TrickDacy@lemmy.world
          link
          fedilink
          5
          edit-2
          4 months ago

          Ok, yeah, I can see that there would be times this could matter but like 90% of the time this wouldn’t have mattered for my use case afaik. I didn’t realize you couldn’t backup the old copy in /bin and symlink to the brew one from there. In fact I thought I did do that long ago.

      • @computergeek125@lemmy.world
        link
        fedilink
        English
        14 months ago

        If it’s anything like when I used a Mac regularly 7y ago, Homebrew doesn’t install to /bin, it installs to /usr/local/bin, which only works for scripts that use env in their shell “marker” (if you don’t call it directly with the shell). You’re just putting a higher bash in the path, not truly updating the one that comes with the system.