• 0 Posts
  • 2 Comments
Joined 2 years ago
cake
Cake day: July 1st, 2023

help-circle
  • 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.