Die Shellprogrammierung ist für Administratoren gedacht die sich nicht mit einer Programmiersprache wie C oder C++ richtig auskennen.
Unix wird schon immer über Shellscripte konfiguriert. Deshalb ist auch die Konfiguration von Unix sehr flexibel. Bei Window/DOS gibt es die Batchprogrammierung.
Die Shellprogrammierung bei Unix/Linux bietet viel mehr Möglichkeiten, vor allem in Zusammanhang mit diesen vielen Unixdientsprogrammen die man in den verschiedenen Shellscripten aufrufen kann (und die man nicht selbst programmieren braucht)
Shellprogrammierung ist viel einfacher als C oder C++.
Du kannst die ganzen Unixdienstprogramme wie tee, touch, sed, awk, file, find u.s.w nutzen , ohne diese Funktionen der jeweiligen Dienstprogramm selbst programmieren zu müssen.
Das gößere Problem bei der Shellprogrammierung ist weniger die Syntax, als viel mehr diese vielen Unixdienstprogramme kennen zu lernen.
Es gibt nicht nur die Bash wie bei Linux. Bei "echtem" Unix ist die Kornshell und die C-Shell dabei.
Alle drei Shells lassen sich gut programmieren, unterscheiden sich aber etwas in der Syntax.
Kauf dir ein richtiges Programmierlehrbuch:
http://www.tldp.org/LDP/abs/html/
http://de.wikibooks.org/wiki/Linux-Kompendium:_Shellprogrammierung
http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1712?GalileoSession=79258309A3llXHU3f6o
PPS: Das ist Informatik:
http://de.wikipedia.org/wiki/Informatik
Du must Shellprogrammierung lernen ,aber kein Informatikstudium absolvieren.