Ich habe also keine Erfahrung im Umgang mit einer Vielzahl von Dateitypen, und ich konnte nicht viele Informationen darüber finden, was genau .sh
Dateien sind. Folgendes versuche ich zu tun:
Ich versuche, Kartendatensätze herunterzuladen, die in Kacheln angeordnet sind, die einzeln heruntergeladen werden können: http://daymet.ornl.gov/gridded
Um eine Reihe von Kacheln gleichzeitig herunterzuladen, müssen sie ihr Skript herunterladen. Dies führt schließlich zu daymet-nc-retrieval.sh
: https://github.com/daymet/scripts/blob/master/Bash/daymet-nc-retrieval.sh
Also, was genau soll ich mit diesem Code machen? Die Website enthält keine weiteren Anweisungen, vorausgesetzt, die Benutzer wissen, was sie damit tun sollen. Ich vermute, Sie sollten den Code in eine andere nicht erwähnte Anwendung für einen Browser einfügen (in diesem Fall mit Chrome oder Firefox)? Es sieht fast wie etwas aus, das in Firefox / Greasemonkey eingefügt werden könnte, aber nicht ganz. Nur durch ein kurzes Google über den Dateityp konnte ich weder Kopf noch Zahl darauf bekommen.
Ich bin mir sicher, dass es eine einfache Erklärung gibt, was mit diesen Dateien zu tun ist, aber sie scheint in vielen Posts vergraben zu sein, in denen die Leute bereits davon ausgehen, dass Sie wissen, was Sie mit diesen Dateien tun sollen. Möchte jemand einfach sagen, was von Anfang an zu tun ist, nachdem er die Seite mit dem Code aufgerufen hat, um ihn tatsächlich zu implementieren? Vielen Dank.
quelle
Antworten:
Wenn Sie Ihren zweiten Link in einem Browser öffnen, wird der Quellcode angezeigt:
[...]
Es ist also ein Bash-Skript. Hast du Linux?
In jedem Fall ist das Skript nichts anderes als eine Reihe von HTTP-Abrufen. Sowohl wget als auch curl sind für die meisten Betriebssysteme verfügbar, und fast alle Sprachen verfügen über HTTP-Bibliotheken, sodass das Umschreiben in jeder anderen Technologie ziemlich trivial ist. Es gibt auch einige Windows-Ports von Bash selbst (Git enthält einen). Last but not least bietet Windows 10 jetzt native Unterstützung für Linux-Binärdateien .
quelle
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
Sie werden diesen bestimmten Dolmetscher verwenden. Ihre Datei hat die erste Zeile:
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
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:
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:
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."
quelle
sh
Dateien sind ausführbare Unix-Shell-Dateien (Linux). Sie entsprechen (aber sind viel leistungsfähiger)bat
Dateien unter Windows.Sie müssen es also von einer Linux-Konsole aus ausführen und den Namen genauso eingeben wie bei Bat-Dateien unter Windows.
quelle
chmod +x file.sh
In der Regel ist eine .sh-Datei ein Shell-Skript, das Sie in einem Terminal ausführen können. Insbesondere ist das von Ihnen erwähnte Skript ein Bash-Skript, das Sie sehen können, wenn Sie die Datei öffnen und in die erste Zeile der Datei schauen, die als Shebang- oder Magic-Zeile bezeichnet wird.
quelle
Ich weiß, dass dies eine alte Frage ist und ich werde wahrscheinlich nicht helfen, aber viele Linux-Distributionen (z. B. Ubuntu) haben eine "Live cd / usb" -Funktion. Wenn Sie dieses Skript wirklich ausführen müssen, können Sie versuchen, Ihren Computer zu starten in Linux. Brennen Sie einfach eine ISO-Datei auf ein Flash-Laufwerk (so http://goo.gl/U1wLYA ), starten Sie Ihren Computer mit angeschlossenem Laufwerk und drücken Sie die Taste F für das Startmenü. Wenn Sie "... USB ..." wählen, starten Sie das Betriebssystem, das Sie gerade auf das Laufwerk gelegt haben.
quelle
Öffnen Sie den Speicherort im Terminal und geben Sie die folgenden Befehle ein: 1. chmod + x filename.sh 2. ./filename.sh das war's
quelle