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?
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
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