A huge part of programming in general is learning how to troubleshoot something, not just having someone else fix it for you. One of the basic ways to do that is by tracing. Not only can this help you figure out what your script is doing and how it’s doing it, but in the event that you need help from another person, posting the output can be beneficial to the person attempting to help.

(If your shell isn’t listed and you know how to enable tracing, comment below and I’ll add it to the table!)

Shell How to enable tracing
Bash set -x or set -o xtrace
Fish set fish_trace on
sh set -x
Zsh set -x or setopt xtrace

Also, writing scripts in an IDE that supports your language. syntax highlighting can immediately tell you that you’re doing something wrong.

If an IDE isn’t an option and you’re using Bash or Sh, you can paste your script into https://www.shellcheck.net/

(Inspired by this post on /r/bash)