Also, do y’all call main() in the if block or do you just put the code you want to run in the if block?

  • fruitcantfly@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    2 days ago

    Unix shell scripts are one of the few holdouts.

    I don’t know if this applies to other shells, but bash will not only execute your script line-by-line, it will also read it line-by-line. Which means that you can modify the behavior of a running script by editing lines that have not yet been executed*. It’s absolutely bonkers, and I’m sure that it has caused more than one system failure, during upgrades.

    * For example, if you run the following script

    echo "hello"
    sleep 5
    echo "goodbye"
    

    and then edit the third line before the 5 second sleep has elapsed, then the modified line will be executed.