Normalerweise arbeite ich auf Windows-Rechnern, aber manchmal wechsle ich zur Linux-Entwicklung. Und mein letztes Projekt wird komplett auf einer bestimmten Linux-Plattform geschrieben (nicht das Standard-Apache / MySQL / PHP-Setup). Daher dachte ich, es würde sich lohnen, jetzt ein Linux-Automatisierungsskript schreiben zu lernen.
Ich kann mich im System zurechtfinden, Dienste starten / stoppen, Sachen kompilieren / installieren. Das sind wahrscheinlich grundlegende Übungen für einen Programmierer. Aber wenn ich zum Beispiel jeden Monat eine bestimmte Anwendung automatisch auf einem neu gebauten Linux-Rechner bereitstellen möchte, würde ich gerne wissen, wie das geht.
Also, wenn ich ernsthaftes Linux-Shell-Scripting lernen wollte, welches Buch sollte ich lesen?
ash
, und sehr kleine Distributionen tendieren auch dazu, abgespeckte Shells wie die Busybox zu verwendensh
.Lernen Sie die Bash Shell zusammen mit Classic Shell Scripting , gefolgt von Bash Cookbook .
Ich würde vorschlagen, die ersten beiden Bücher durchzublättern, ohne sich zu viele Gedanken darüber zu machen, wie man sich an alles erinnert. Verweisen Sie auf sie, wenn Sie etwas tun möchten, an das Sie sich erinnern, aber nicht erinnern, wie Sie es tatsächlich tun sollen. Und komm ein paar Monate später zu ihnen zurück und lerne neue Dinge von ihnen.
Beachten Sie, dass dies aus der Perspektive eines Linux-Administrators kommt, also neige ich mich zu den Feinheiten von bash über das reinere sh. Es ist nur das seltene Skript, mit dem ich mich die Mühe mache, sh kompatibel zu machen. Außerdem halte ich tcsh nicht für eine legitime Skriptsprache.
quelle
Shell-Scripting ist kein Shell-Scripting. Verschiedene Systeme haben unterschiedliche Shells, und die Unterschiede in Syntax und Semantik sind erheblich.
Andere haben Bash-Bücher erwähnt, für Korn-Shell empfehle ich O'Reilly's Learning the Korn Shell . Wenn Sie portable Shell-Skripte schreiben müssen, gibt es auch von O'Reilly: Classic Shell Scripting .
Meiner Meinung nach: Das Schreiben von portablen Shell-Skripten ist selbst für Leute, die an eine bestimmte Shell gewöhnt sind, ein Albtraum. Wenn Sie aus einem Windows-Hintergrund stammen, sind Sie mit den grundlegenden Dingen vertraut (Dienste starten / stoppen, Dingen kompilieren / installieren), und Ihr Ziel ist die Automatisierung, die ich persönlich bei Perl behalten würde.
Während Perl seine Mängel hat, ist es, wenn es darum geht, verschiedene Teile zusammenzukleben, wo es scheint. Und genau das macht meiner Erfahrung nach den größten Teil der Automatisierung aus. Außerdem ist Perl auf Unix-Systemen allgegenwärtig.
quelle
Ich habe mir bei Richard Blum (ISBN: 047025128X) die mit fünf Sternen ausgezeichnete " Linux Command Line and Shell Scripting Bible " von Amazon gekauft, um an dieses "ernsthafte Shell Scripting" heranzukommen, und ich muss sagen, dass ich von dem Buch sehr beeindruckt bin. Vermittelt Ihnen fundierte Kenntnisse über Shell-Skripte, aber auch über andere in diesem Zusammenhang erforderliche Konzepte wie die Funktionsweise von Linux-Dateisystemberechtigungen und Ihre bekannten Unix-Tools wie grep.
quelle