• 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)