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

    I can’t think of a single reason to use bash over Python. Anything you can do in bash can be done in pure Python. Unless you’re working in some embedded environment it’s a non-issue to install a Python interpreter (you certainly already have one). I would only use sh/bash for packages I’m distributing to avoid the external dependency, and then only if it’s a relatively simple script.

    • bort@lemmy.sdf.org
      link
      fedilink
      arrow-up
      17
      ·
      1 year ago

      I know whatever environment I run my shell script in has sh, I can’t rely on (the right version of) python being there.

      • AProfessional@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        BASH has some useful features and I’ve literally never had an environment with bash unavailable (even if a package is needed, so what).

      • IRQBreaker@lemmy.kozow.com
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Granted, it’s a kind of niche use case but in the embedded world there’s usually size constraints which prevents a full blown bash installation.

        However, things are better now than 20 years ago. Flash is cheap.

    • CoderKat@lemm.ee
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 year ago

      Python is superior for string anything (parsing, searching, manipulating). But Bash is much simpler for running existing CLI tools. Plus you should already be using Bash as a simple terminal language already, so wrapping what you’re used to into a simple script flows naturally.

      Eg, if I have some admin tool for updating a user thingamajig, a common scripting need is just running that tool for every user in a file (or the output of another command). The string manipulation that often requires is annoying in bash, but running the commands is easier than Python.

      • Kogasa@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        1 year ago

        If what you’re doing is essentially a few shell commands, then you may as well put it into a script. If you’re talking about how “elegant” your shell scripts are and comparing them to Python, you’re probably wrong and should be using Python.