why?

Because bash feels clunky to write and work with for anything non-trivial, especially compared to other scripting languages.

Why not another scripting language (no compile necessary)?

Because bash and sh are installed nearly everywhere. Any other scripting language means the user is required to have that installed, and that is far less likely to be the case.

If I could write my scripts in a nice syntax, but be sure my users will be able to use it effortlessly by distributing to them compiled versions, then that would make both of our lives easier!

Thoughts? Are there any languges that do this?

  • aport@programming.dev
    link
    fedilink
    arrow-up
    29
    ·
    edit-2
    1 year ago

    Unfortunately shell script is not as portable as you might be anticipating. Different distro run different shells, with different settings, and also different tools. Think BSD grep vs GNU grep.

    • Scott@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      8
      ·
      edit-2
      1 year ago

      I’ve seen multi distro scripts that are also able to bootstrap their own assets for each distro/architecture. Don’t see why you wouldn’t be able to check that considering /etc/os-release exists in pretty much every unix like environment.

      And having it run on a specific shell type could also be an option.

    • z3bra@lemmy.sdf.org
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      1 year ago

      That’s what the POSIX spec is for. BSD and GNU commands may differ, but they both support what’s specified by POSIX. By limiting your calls to it, you can write portable script with no problem (I’ve been doing that for the last few years without issue).