The shell, be it BASH (Bourne Again Shell), ksh (KornShell), sh (the original shell program developed primarily by Stephen Bourne at Bell Labs for Unix), the C-Shell (developed at Berkeley) along with various flavors and variants are command and programming languages.
When you fire up a Linux system and log in, you're presented with a shell prompt (if the system starts at run level 3 (non-graphic); if it starts with GNOME, KDE, Xfce or some other window manager you need to open a terminal emulator to get a shell prompt.
From that prompt, you can execute programs and utilities piping the output of one program into the input of another program as necessary or you can write a shell program ("script" isn't really correct, what you're actually doing is writing a shell program that you can save as a file, make it executable and then type its name to execute it) to perform useful work (hopefully!). Shell programming has grammar and syntax rules just like any programming language (C, FORTRAN, whatever). You may be surprised how many shell programs there are on your system; e.g.,
file * | grep POSIX
(that should be over 400). One example that is frequently used is whatis
; it's a shell program (on most systems). Back in the day, when Unix was developed, folks worked on terminals; from Teletypes to video, keyboard and display integrated in one box, no graphics (other than curses
), text all the way and did a great deal of useful work. Truth is, you still can -- if you know the grammar and syntax, that is.
It's really a good idea, if you're serious about getting the most out of your system, to take the time to learn shell programming. At some point, you're going to hit a problem you need to solve and you won't be able to do it with some pre-built application -- if you know how to write a shell program, you can, typically, solve a problem without resorting to a higher-level programming language (not always, certainly, but more frequently than you might think).
It's worth your time to learn.
Hope this helps some.