Bash ist ein scripting
Sprache:
Aus Wikipedia:
Eine Skriptsprache oder Skriptsprache ist eine Programmiersprache, die das Schreiben von Skripten unterstützt, Programmen, die für eine Softwareumgebung geschrieben wurden, die die Ausführung von Aufgaben automatisieren, die alternativ einzeln von einem menschlichen Bediener ausgeführt werden könnten. [...]
Der Begriff Skript ist normalerweise kleinen Programmen (bis zu einigen tausend Codezeilen) vorbehalten.
Skripte sind normalerweise schnell und schmutzig. Sagen wir, ein Bash-Skript, um Ihnen das Leben zu erleichtern. Wohingegen eine „Programmiersprache“ viel durchdachter und bewusster sein soll. Die Sache mit „Programmiersprachen“ ist, dass sie normalerweise schneller sind und mehr Kontrolle über Dinge auf niedriger Ebene bieten, wenn Sie möchten.
"Programmiersprachen" werden typischerweise in Szenarien verwendet, in denen der Code für lange Zeit vorhanden sein wird. Wenn Sie schnell etwas schreiben und es dann nie wieder verwenden möchten, sind Skriptsprachen genau das Richtige für Sie.
Einen interessanten Artikel finden Sie hier.
Wenn Sie einen Befehl kennen, sagen Sie ls
, Sie geben es ein und drücken dann die Eingabetaste, die Shell weiß, wo sich dieses Programm (ls) befindet, ruft es auf und zeigt Ihnen das Ergebnis. Dies ist die "Nicht-Skript"-Shell-Nutzung.
Aber wenn Sie ein paar solcher Befehle in einer Sequenz anordnen, sagen wir A, B, C, D, und sie (die Sequenz) dann in eine ausführbare Datei einfügen, haben Sie ein Programm. Das Programm hat einen Namen und einen Speicherort, sodass es referenziert und aufgerufen werden kann; es hat Code, also kann es ausgeführt werden, ein Befehl nach dem anderen, von der CPU.
(Das Programm ist nicht kompiliert - wie es zum Beispiel C-Source gewesen wäre - und das macht es zu einem Skript. Aber es ist trotzdem ein Programm.)
Das heißt, gewissermaßen programmieren Sie bereits an diesem Punkt, weil Sie dem Computer mitteilen, was er tun soll.
Darüber hinaus verwenden Sie, wiederum auf einem sehr einfachen Niveau, auch eine Programmiersprache, da Sie nicht einfach irgendetwas eingeben (und erwarten können, dass es funktioniert); Gleichzeitig erhalten Sie, was auch immer Sie eingeben, Aktivitäten vom Computer, die genau dem entsprechen, was Sie geschrieben haben.
Es gibt Regeln, wie Sie Dinge sagen sollten, und es gibt Regeln, wie der Computer darauf reagiert.
Allerdings verbindet man mit „Programmieren“ typischerweise etwas mehr Ausdruckskraft, als nur Befehle übereinander zu stapeln. Zumindest möchten Sie verzweigen (if ... then ... else
), Iteration (Schleifen:while
, for
, etc.), und wahrscheinlich auch einige andere Dinge. Aber das ist in Ordnung, da die Skriptsprachen diese Dinge und mehr haben.
Die Shells haben unterschiedliche Sprachen, ja, aber einige können sich aufgrund von Konventionen (warum eine gute Art, etwas zu sagen?) oder um mit früheren Versionen (oder einem Standard) kompatibel zu sein, stark überschneiden.