Was ist eine Datei mit der Erweiterung .sh?
Es ist ein Bourne-Shell-Skript . Sie werden in vielen Variationen von UNIX-ähnlichen Betriebssystemen verwendet. Sie haben keine "Sprache" und werden von Ihrer Shell (Interpreter von Terminalbefehlen) oder wenn die erste Zeile in der Form ist, interpretiert
#!/path/to/interpreter
Sie werden diesen bestimmten Dolmetscher verwenden. Ihre Datei hat die erste Zeile:
#!/bin/bash
und das bedeutet, dass es Bourne Again Shell verwendet, sogenannte Bash. Es ist für alle praktischen Zwecke ein Ersatz für gute alte sh.
Je nach Interpreter haben Sie eine andere Sprache, in der die Datei geschrieben ist.
Beachten Sie, dass in der UNIX-Welt nicht die Dateierweiterung die Datei bestimmt (siehe Ausführen eines Shell-Skripts).
Wenn Sie aus der Welt von DOS / Windows kommen, sind Sie mit Dateien vertraut, die die Erweiterungen .bat oder .cmd (Batch-Dateien) haben. Sie sind inhaltlich nicht ähnlich, aber im Design ähnlich.
So führen Sie ein Shell-Skript aus
Im Gegensatz zu einigen albernen Betriebssystemen stützt sich * nix nicht ausschließlich auf Erweiterungen, um zu bestimmen, was mit einer Datei geschehen soll. Berechtigungen werden ebenfalls verwendet. Dies bedeutet, dass wenn Sie versuchen, das Shell-Skript nach dem Herunterladen auszuführen, dies dem Versuch entspricht, eine beliebige Textdatei "auszuführen". Die Erweiterung ".sh" dient nur dazu, diese Datei zu erkennen.
Sie müssen die Datei ausführbar machen. Nehmen wir an, Sie haben Ihre Datei als heruntergeladen file.sh
und können sie dann in Ihrem Terminal ausführen:
chmod +x file.sh
chmod
ist ein Befehl zum Ändern der Dateiberechtigungen, +x
setzt Ausführungsberechtigungen (in diesem Fall für alle) und schließlich haben Sie Ihren Dateinamen.
Sie können dies auch in der GUI tun. Meistens können Sie mit der rechten Maustaste auf die Datei klicken und Eigenschaften auswählen. In XUbuntu sehen die Berechtigungsoptionen folgendermaßen aus:
![Dateiberechtigungen in XUbuntu](https://i.stack.imgur.com/WiI5J.png)
Wenn Sie die Berechtigungen nicht ändern möchten. Sie können die Shell auch zwingen, den Befehl auszuführen. Im Terminal können Sie ausführen:
bash file.sh
Die Shell sollte dieselbe sein wie in der ersten Zeile Ihres Skripts.
Wie sicher ist es?
Es kann seltsam sein, dass Sie eine andere Aufgabe manuell ausführen müssen, um eine Datei auszuführen. Dies ist jedoch teilweise auf das starke Sicherheitsbedürfnis zurückzuführen.
Wenn Sie ein Bash-Skript herunterladen und ausführen, ist es im Grunde dasselbe, als würde Ihnen jemand sagen, dass "alle diese Befehle nacheinander auf Ihrem Computer ausgeführt werden. Ich verspreche, dass die Ergebnisse gut und sicher sind". Fragen Sie sich, ob Sie der Partei vertrauen, die diese Datei bereitgestellt hat, und ob Sie sicher sind, dass Sie die Datei von derselben Stelle heruntergeladen haben, an der Sie gedacht haben, und werfen Sie vielleicht sogar einen Blick hinein, um festzustellen, ob etwas nicht am richtigen Ort ist (obwohl dies erforderlich ist) dass Sie etwas über * nix-Befehle und Bash-Programmierung wissen).
Abgesehen von der obigen Warnung kann ich leider nicht Schritt für Schritt beschreiben, was Sie tun sollten, um zu verhindern, dass böse Dinge mit Ihrem Computer passieren. Denken Sie also daran, dass Sie jedes Mal, wenn Sie eine ausführbare Datei von jemandem erhalten und ausführen, sagen: "Sicher, Sie können meinen Computer verwenden, um etwas zu tun."