things that i've found for free online
i'm not a programmer. i learned linux because it's free (yeah, i'm cheap).
it's old, yet it will give you a very good start. Burtch - Linux Shell Scripting with Bash (2004).pdf
something that i have found to be very handy is to set up your vim, no flame wars, you can probably do this with any(?) editor, to include 'shellcheck' with it.
once it's set up it will show, yell at you, things that are not correct/current in how you are writing your script. look at the bottom of the screen and it will show you how to check things out on "https://www.shellcheck.net/". just follow what the '#' number is and look it up.
have fun and take care