Der Anfängerleitfaden zum Skripting unter Linux
Wollten Sie schon einmal "Skripting" in Linux lernen? Sie zu machen ist einfacher als Sie vielleicht denken. Manchmal sind Skripte (oft als Shell- oder Bash-Skripte bezeichnet) echte Programme mit kompliziertem Code. In anderen Fällen sind sie nur eine lange Liste von Aufgaben, die Benutzer zusammenstellen, um Dinge schneller und einfacher unter Linux erledigen zu können.
In diesem Artikel haben wir beschlossen, eine kurze Anleitung zu erstellen, in der erklärt wird, wie man unter Linux ein einfaches Shell-Skript erstellt. Dieses Tutorial wird Sie nicht zu einem Bash- oder Scripting-Experten machen. Stattdessen zeigt es Ihnen, wie einfach es ist, in Linux zu starten (und die Best Practices).
Warum würdest du ein Skript machen?
Skripte in Linux zu erstellen ist eine sehr nützliche Fähigkeit. Selbst wenn Sie Bash nicht vollständig verstehen, können Sie Ihr begrenztes Wissen über das Terminal nutzen, um einige Aufgaben zu automatisieren und "massenweise zu erledigen" oder einfach mehrere Anwendungen gleichzeitig zu öffnen.
Zum Beispiel: Vielleicht hast du Arch Linux von Grund auf neu gebaut. Das Betriebssystem wird zusammen mit allen Basispaketen installiert und kann beim Start des Betriebssystems vom Terminal aus gestartet werden. Arch Linux braucht Zeit, um eingerichtet zu werden, daher ist der Prozess nicht abgeschlossen.
An dieser Stelle kann der Benutzer ein Bash-Skript schreiben und alles gleichzeitig ausführen. Nichts davon ist Programmierung, oder fortgeschritten für diese Angelegenheit. Angesichts der Tatsache, dass der Benutzer genug über die Funktionsweise von Arch Linux versteht, könnte er fast den gesamten Post-Setup-Prozess (Desktopumgebung, Treiber, Benutzerkonfiguration usw.) automatisieren.
Die einzige Beschränkung auf Ihr Bash-Skript ist Ihr eigenes Linux- und Bash-Wissen! Sie zu machen ist einfacher als Sie vielleicht denken.
Erste Schritte - Shebangs
Beim Schreiben von Code müssen Dinge spezifiziert und Ressourcen geladen werden. Beim Scripten mit der Shell müssen einige Dinge ebenfalls angegeben werden. Im Bash-Scripting wird dies als "Shebang" bezeichnet. Die in Skripten verwendeten Shebangs teilen dem Skript mit, unter welchem Interpreter es ausgeführt werden soll. Dies könnte Bash oder andere Skripte in Ihrem System sein. Beachten Sie, dass verschiedene Sprachen ihre eigenen Shebangs haben.
Zum Beispiel: Beim Schreiben eines Python-Skripts wäre der Shebang #!/usr/bin/python
usw.
Bash hat viele verschiedene Shebangs, die verwendet werden können, aber die meisten Benutzer haben wahrscheinlich nur die #!/bin/bash
. Verwenden Sie in der Regel #!/bin/bash
wenn Sie ein einfaches Skript schreiben, und planen Sie nicht, Linux zu entfernen. Alle modernen Linux-Distributionen sind auf der gleichen Version von Bash und die Bash-Shell befindet sich normalerweise an derselben Stelle.
Ein anderer Shebang, der sich als nützlich erweist, ist die #!/usr/bin/env bash
shebang. Dieser ist auf Portabilität ausgelegt und sollte verwendet werden, wenn das Skript für die Ausführung auf anderen Unix-ähnlichen Betriebssystemen (BSDs, macOS usw.) ausgelegt ist.
Best Practices
Skripte in Bash zu schreiben kann ein komplizierter Prozess sein, wenn der Schreiber es so macht. In den meisten Fällen sind Skripte nur eine Sammlung verschiedener Operationen. Verschieben einer Datei, Herunterladen von Dateien, Installieren von Programmen und so weiter.
- Denken Sie daran, dass Bash eine Sprache ist, die Dateien und Prozesse auf dem System manipulieren soll. Wenn Bash deine Bedürfnisse erfüllt, ist das gut. Verstehen Sie jedoch, dass Bash für die fortgeschrittene Programmierung nicht die richtige Wahl ist und es am besten wäre, sich auf etwas wie Python zu konzentrieren.
- Machen Sie Ihre Skripte "SH" -kompatibel und im ".sh" -Format, wenn Sie Skripte auf mehr als nur einer Linux-Plattform verwenden möchten. Obwohl andere UNIX-ähnliche Betriebssysteme "bash-artige" Shells haben können, haben einige überhaupt keine Bash, und es ist gut, darauf vorbereitet zu sein.
- Lerne die Bash-Shell und wie es funktioniert. Es wird Ihnen helfen, Ihre Skripte besser zu schreiben.
- Verwenden Sie immer einen Shebang und noch wichtiger: Verwenden Sie den richtigen . Es kann den Unterschied zwischen einem guten und einem schrecklichen Skript bedeuten, das nicht richtig funktioniert.
- Kommentiere immer jede Operation aus. In sechs Monaten könnten Sie zu Ihrem Skript zurückkehren und sich fragen, was alles bedeutet. Daher ist es von entscheidender Bedeutung, dass Ihr Skript gut dokumentiert und leicht verständlich ist (für Sie und alle anderen, die es vielleicht sehen).
- Machen Sie Ihren Code lesbar. Auch wenn Ihr Skript nicht komplex ist, sollte es dennoch Sinn machen und es einfacher machen, als Sie vielleicht denken.
- Testen Sie Ihr Skript auf Fehler, bevor Sie es an andere weitergeben. Mach keine anderen Fehler für dich. Im Idealfall sollten Skripts funktionieren, bevor Sie sie an Benutzer senden.
Ein Skript erstellen
Zum Starten der Skripterstellung benötigen Sie lediglich einen Texteditor. Jeder einfache Texteditor wird es tun - es muss nicht kompliziert oder umfassend sein. In diesem Beispiel erstellen wir ein einfaches Ubuntu-Update-Skript mit Gedit.
#! / bin / bash
Dieser erste Teil des Skripts ist der Shebang, wie bereits erwähnt. Dadurch kann das Skript dem Interpreter mitteilen, was es zum Verständnis des Codes verwenden soll.
Als nächstes schreiben wir einen Kommentar. Dies ermöglicht jedem, der das Skript verwendet, zu verstehen, was der Code tun soll. Kommentare können zu einem Skript hinzugefügt werden, indem ein "#" - Symbol platziert wird. Alles danach wird vom Skript nicht mehr aufgenommen.
# Mein einfaches Ubuntu-Update-Skript
Jetzt ist es an der Zeit, den Code dem Skript hinzuzufügen. In diesem Fall arbeiten wir daran, ein Bash-Skript zu erstellen, das die zwei Update-Befehle von Ubuntu nacheinander ausführt. Beginnen Sie mit dem Befehl update software sources.
sudo apt aktualisieren
Der zweite Teil des Skripts ist der Befehl apt upgrade
. Mit diesem Befehl können die zuvor überprüften Updates installiert werden. Fügen Sie am Ende ein -y
, damit das Skript keine Benutzerinteraktion benötigt. Dadurch kann der Befehl selbst aktualisiert werden.
sudo apt upgrade -y
Speichern Sie das Skript mit der Erweiterung ".sh". Zum Beispiel "myscript.sh."
Um das Skript auszuführen, öffnen Sie ein Terminal und geben Sie Folgendes ein:
sudo chmod + x meinskript.sh
Dies markiert das neu erstellte Skript als ausführbar. Dies ist nicht immer erforderlich, da Bash es sowieso immer ausführen wird. Trotzdem ist dies eine gute Übung beim Scripten.
Führen Sie den folgenden Befehl aus, um das neu erstellte Skript auszuführen:
sudo bash myscript.sh.
Dateierweiterungen
Es gibt keinen Unterschied in Dateierweiterungen für Skripts. Das Benennen einer Datei mit der Dateierweiterung ".sh" hat wenig Einfluss auf die Art und Weise, wie das "Programm" ausgeführt wird. Ein Bash-Skript läuft immer noch ohne Dateierweiterung - leere Textdateien und alles dazwischen, solange die richtigen Befehle und Argumente vorhanden sind.
Obwohl die Bash-Shell Dateierweiterungen ignoriert, bedeutet das nicht, dass der Skript-Schreiber dies tun sollte. Einige Desktopumgebungen, in denen Shellskripts beim Start festgelegt werden können, hängen davon ab, ob das Skript die richtige Dateierweiterung ".sh" aufweist. Dies hilft auch für organisatorische Zwecke.
Wenn es darauf ankommt, werden die meisten Shell-Skripte als ".sh" -Dateien für die Portabilität gespeichert. Das "sh" hat nichts mit Bash selbst zu tun, und das Skript kann mit jeder kompatiblen Shell laufen.
Alternativ können Skripte als .bash, .ksh (Unix-Korn-Shell) usw. gespeichert werden. Diese Dateierweiterungen sind minderwertig und schränken die Nützlichkeit eines Skripts ein. Dies liegt daran, dass sie nur für die Schalen entworfen wurden, die diese Erweiterungen verwenden.
Code-Ressourcen
Wenn Sie nach nützlichen Bash-Skripten suchen, besuchen Sie das Bash-Benutzer-Repository auf Reddit. Es ist eine Sammlung von ordentlichen und nützlichen Skripten, die frei zu benutzen und zu modifizieren sind!
Zusätzlich sollten diejenigen, die die fortgeschrittene Natur von Bash lernen und mit der Shell programmieren möchten, Freecode ausprobieren. Die Website enthält einen kompletten Unterrichtsleitfaden, der alles über fortgeschrittene Bash-Skripte lehrt.
Fazit
Obwohl das Skripting mit Bash unter Linux kein einzigartiges Feature ist (Macs haben auch Bash), hilft es Linux-Benutzern insgesamt besser. Da so viel von Linux unter dem Terminal erreicht werden kann, ist es sehr nützlich zu lernen, wie man die Shell manipuliert.
Welche Bash-Skripte verwenden Sie unter Linux, um Ihr Leben einfacher zu machen? Sag uns unten!
Feature Bild: Jm3