[Allgemeine Hinweise zum Schreiben von Skripten finden Sie in den anderen Antworten.]
In dieser Antwort geht es um die Verwendung von Befehlszeilenprogrammen und auch großer Ketten von diesen.
Bash ist die einfachste Methode zum Ausführen von CLI-Programmketten und möglicherweise mehrerer Ketten nacheinander. Perl kann dasselbe tun, aber die Sprache ist viel schwieriger zu lernen und weitaus komplexer, und wie viele darauf hingewiesen haben, ist es einfach, verständliches Perl zu schreiben.
Wenn Sie Dateien und Parameter durchlaufen, ist es am einfachsten, mit bash loszulegen. Sie können Prototypen in der Shell erstellen, sie in ein Skript kopieren und einige Arrays und Schleifen mit minimalem Overhead hinzufügen.
Beispiele für das, was ich meine:
$ cat input.dat | numerical_model source_data ${SRC} grid_size ${GRID_SIZE} param1 ${P1} param2 ${P2} | tee ${OUTPUT} | plotter title ${TITLE} ylabel ${YLABEL} xlabel ${XLABEL} > ${OUTPUT_FIG}
$ cat ${OUTPUT} | stats_cmd bin_size ${BINSIZE} dist_type ${DIST_TYPE} | tee ${OUTPUT_STATS} | plotter plot_type ${PLOT_TYPE} title ${TITLE_STATS} > ${OUTPUT_FIG_STATS}
In Bash ist es einfach , einige dieser Parameter in ein paar Schleifen zu packen. Der Code ist jedoch schwer zu lesen, wenn das Skript mehr als einige zehn Zeilen umfasst. --- Stellen Sie sich 30 Befehlssätze (jeweils ein paar Zeilen) für 30 verschiedene Datenplots vor ---
Perl und Python sind möglicherweise besser für große Skripte geeignet, da sie eine sauberere Syntax für Schleifen und Variablen aufweisen. Die Bash-Befehle müssen jedoch als Zeichenfolgen generiert, als Unterprozesse ausgeführt und stdin, stdout erfasst werden. Dies ist möglich, kann jedoch die native Shell-Umgebung nicht vollständig ersetzen.
Wenn Muscheln eine bessere Sprache hätten, würde dies alles vermieden.