
Я пытаюсь запустить файл run.pl из каталога OpenDroneMap с помощью команды ../OpenDroneMap/run.pl
из каталога Photos, однако я продолжаю получать ошибку Bash.
Есть ли какая-то причина, по которой я не могу выполнить эту команду?
решение1
Bash всегда будет пытаться интерпретировать скрипты/текстовые файлы как последовательность команд Bash, если только сам скрипт/текстовый файл не имеет шебанга в начале файла, описывающего, какой исполняемый файл должен быть запущен для его интерпретации; либо добавьте шебанг в начале файла, явно указав Bash запустить скрипт с помощью Perl:
#!/usr/bin/env perl
Или запустите скрипт с помощью Perl:
perl ../OpenDroneMap/run.pl
Чтобы не следовать обратному подходу SCITE (т. е. не редактировать ответы, опубликованные ранее, на основе ответов других пользователей, опубликованных позже), поскольку это теперь принятый ответ, я отредактирую часть того, что сказал OleksDovz в своем ответе, а именно: если вы запускаете скрипт с помощью ../OpenDroneMap/run.pl
, убедитесь, что скрипт имеет как shebang в начале файлаифлаг исполняемого файла, установленный для вашего пользователя; если вы являетесь владельцем файла, выполните:
chmod u+x ../OpenDroneMap/run.pl
решение2
проверить, еслипритонсуществует в первой строке, например "#!/usr/bin/perl" и добавьте в этот файл бит +x:
chmod a+x ../OpenDroneMap/run.pl
или просто используйте perl для скрипта
perl ../OpenDroneMap/run.pl
После этого вы можете бежать