• CrazyLikeGollum@lemmy.world
    link
    fedilink
    English
    arrow-up
    16
    ·
    1 day ago

    Or scripts for basically any other variant of the Bourne shell. They are, for the most part, very cross compatible.

    • Tinidril@midwest.social
      link
      fedilink
      English
      arrow-up
      10
      ·
      1 day ago

      That’s the only reason I’ve ever done much of anything in shell script. As a network administrator I’ve worked many network appliances running on some flavor of Unix and the one language I can count on to be always available is bash. It has been well worth knowing for just that reason.

    • BeigeAgenda@lemmy.ca
      link
      fedilink
      arrow-up
      2
      ·
      1 day ago

      I wrote a script to do backups on a ESXi it uses Busybox’s ASH, one thing I learned after spending hours debugging my scripts was that ASH does not support arrays so you have to do everything with temporary files.

      • YouAreLiterallyAnNPC@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        19 hours ago

        There actually is an array in any POSIX shell. You get one array per file/function. It just feels bad to use it. You can abuse ‘set – 1 2 3 4’ to act as a proper array. You can then use ‘for’ without ‘in’ to iterate over it.

        for i; do echo $i; done.

        Use shift <number> to pop items off.

        If I really have to use something more complex, I’ll reach for mkfifo instead so I can guarantee the data can only be consumed once without manipulating entries.