• calamityjanitor@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    1 day ago

    Like, why is bash ancient? (3.2 vs 5)

    To avoid GPLv3, zsh is the new default.

    Why is there no package manager

    Mac App store is the official one, can also install brew, macports, pkgsrc, or nix. Or use language/runtime specific ones like npm, pip, cargo, go.

    Why are the utils like ls and friends flag-order-sensitive

    They avoid GNU versions of utilities, for similar licencing fears as avoiding modern bash. That said ls . -lah is unhinged, I don’t know any other unix derived ls that supports that.

    Why do I have 40 network devices with cryptic names?

    Yeah they got some weirdo Apple stuff

          • calamityjanitor@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            1
            ·
            1 day ago

            If your script starts with #!/bin/bash, both bash and zsh will run it fine. The bigger problem is the programs, filesystem and libraries being different. Which is why POSIX exists, if you’re looking to write stuff that works across systems.

            I couldn’t tell if you were honestly asking for explanations or if all of your complaints sum up to “it’s different and I don’t like that”. Which honestly, fair.

              • calamityjanitor@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                2 hours ago

                What bash scripts are you writing that you expect to run on both a Mac laptop and a production linux server? You can install the newer bash if that’s what you’re used to, but you’re surely going to run into issues like ls . -lah far quicker than differences in bash since 3.2

                Even on a linux desktop you’re going to have differences from a production server, you’d want to be using something like ansible, or replicating production in a local test environment in a container or VM. Exactly like you have done.

                How’d you end up being the only one at your workplace to be given a Mac? Even with a linux VM, being on ARM can cause issues with compatibility.

            • Aatube@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              3
              arrow-down
              1
              ·
              1 day ago

              not exactly. if you’re worried about the differences between bash 3 and 5, you’re probably using some intermediate bash-exclusive features because that’s the headlining changes between these versions (google says associative arrays and new shellvars. even if zsh has equivalent features, the syntax would be different.) it’s only “guaranteed” to run fine in both shells if the shebang ends in /sh to call the POSIX shell without any bash- or zsh- specific features.

              it isn’t available anywhere else

              i don’t get what @greyscale@lemmy.grey.ooo means by this though

              • greyscale@lemmy.grey.ooo
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 day ago

                Production server does not have zsh. Other developers aren’t on macbooks. Ergo, I cannot use zsh (it sucks anyway)