Versuch, eine run.pl-Datei auszuführen

Versuch, eine run.pl-Datei auszuführen

Ich versuche, eine run.pl-Datei aus dem OpenDroneMap-Verzeichnis mit dem Befehl ../OpenDroneMap/run.plaus dem Fotos-Verzeichnis auszuführen, erhalte jedoch ständig einen Bash-Fehler.

Gibt es einen Grund, warum ich diesen Befehl nicht ausführen kann?

Antwort1

Bash versucht immer, Skripte/Textdateien als eine Folge von Bash-Befehlen zu interpretieren, es sei denn, das Skript/die Textdatei selbst hat am Anfang der Datei einen Shebang, der beschreibt, welche ausführbare Datei ausgeführt werden muss, um es zu interpretieren. Fügen Sie entweder am Anfang der Datei einen Shebang hinzu, der Bash explizit anweist, das Skript mit Perl auszuführen:

#!/usr/bin/env perl

Oder führen Sie das Skript mit Perl aus:

perl ../OpenDroneMap/run.pl

Um keinen umgekehrten SCITE-Ansatz zu verfolgen (d. h. um Antworten, die früher gepostet wurden, nicht auf der Grundlage von Antworten anderer Benutzer zu bearbeiten, die später gepostet wurden), werde ich, da dies nun die akzeptierte Antwort ist, einen Teil dessen bearbeiten, was OleksDovz in seiner Antwort gesagt hat, nämlich: Wenn Sie das Skript mit ausführen ../OpenDroneMap/run.pl, stellen Sie sicher, dass das Skript sowohl ein Shebang am Anfang der Datei hatUnddas für Ihren Benutzer gesetzte ausführbare Flag; wenn Sie der Eigentümer der Datei sind, führen Sie Folgendes aus:

chmod u+x ../OpenDroneMap/run.pl

Antwort2

prüfen Sie, obsiebangexistiert in der ersten Zeile, wie „#!/usr/bin/perl“ und füge dieser Datei +x Bit hinzu:

chmod a+x ../OpenDroneMap/run.pl

oder verwenden Sie einfach Perl für das Skript

perl  ../OpenDroneMap/run.pl

Danach können Sie laufen

verwandte Informationen