web-dev-qa-db-fra.com

Essayer d'exécuter un fichier run.pl

J'essaie d'exécuter un fichier run.pl sous le répertoire OpenDroneMap à l'aide de la commande ../OpenDroneMap/run.pl depuis le répertoire Photos, mais je continue à avoir une erreur Bash.

Y a-t-il une raison pour laquelle je ne peux pas exécuter cette commande?

3
Leith Hawkins

Bash essaiera toujours d'interpréter les scripts/fichiers texte comme une séquence de commandes Bash, à moins que le script/fichier texte ait lui-même un Shebang au début du fichier, décrivant le fichier exécutable à exécuter pour l'interpréter. soit ajouter un Shebang au début du fichier en demandant explicitement à Bash d’exécuter le script avec Perl:

#!/usr/bin/env Perl

Ou exécutez le script en utilisant Perl:

Perl ../OpenDroneMap/run.pl

Pour ne pas suivre une approche SCITE inversée (c'est-à-dire pour ne pas modifier les réponses postées précédemment en fonction des réponses d'autres utilisateurs postées ultérieurement), cette réponse étant désormais acceptée, je vais modifier en partie ce que OleksDovz a dit dans sa réponse, à savoir: vous exécutez le script à l'aide de ../OpenDroneMap/run.pl, assurez-vous qu'il comporte un Shebang au début du fichier et l'indicateur d'exécutable défini pour votre utilisateur; Si vous êtes le propriétaire du fichier, exécutez:

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

vérifie si Shebang existe en première ligne, comme "#!/usr/bin/Perl" et ajoute à ce fichier + x bit:

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

ou utilisez simplement Perl pour le script

Perl  ../OpenDroneMap/run.pl

Après cela, vous pouvez courir

2
OleksDovz