====== Bash ======
Useful Bash code, with no particular order
===== Add safeguards on every script =====
At the top of the file, always start your scripts with:
set -euo pipefail
  * ''-e'': The -e option will cause a bash script to exit immediately when a command fails.
  * ''-o pipefail'': This particular option sets the exit code of a pipeline to that of the rightmost command to exit with a non-zero status, or to zero if all commands of the pipeline exit successfully.
  * ''-u'': This option causes the bash shell to treat unset variables as an error and exit immediately. 
More info: https://vaneyckt.io/posts/safer_bash_scripts_with_set_euxo_pipefail/
===== Read passwords with feedback on a script =====
unset password
charcount=0
prompt="Enter your password: "
while IFS= read -p "$prompt" -r -s -n 1 char
do
    if [[ $char == $'\0' ]]
    then
        break
    fi
    if [[ $char == $'\177' ]] ; then # Backspace support
        if [ $charcount -gt 0 ] ; then
            charcount=$((charcount-1))
            prompt=$'\b \b'
            password="${password%?}"
        else
            prompt=''
        fi
    else
        charcount=$((charcount+1))
        prompt='*'
        password+="$char"
    fi
done