From absolutely no experience to a bit of know how I recommend this tutorial:
It is fantastic for beginners.
(i) Just copy the code your first run through. Do not worry about retention.
(ii) Then go back a second time and try to do what you can from memory.What you can't remember, do again.
(iii) Then go back a third time and riff on the questions and answers. Change the variables, the questions, the outputs.
From these 18 problems you will have the know how to be able to begin tackling any language.
Bash is a command-line interpreter
, or scripting language, for the Linux shell, and so covers the elementary attributes of programming while also introducing you to your Linux shell a bit more.
I agree with the above: Python is an excellent next step.
All languages are basically the same. Their application, execution, and syntax differ. So learning these is the real goal.
Much like verbal language. We all use verbs, nouns, tense and the like, though some use them differently: gender, participles, gerunds.
Programming is the same. All languages use logic in the form of if statements, loops, and input output calls.
Complexity of the program can remain the same, but the complexity of the Syntax grows down dramatically.
A simplified hierarchy of helpful terminology:
msg db 'Hello, world!',0xa
len equ $ - msg