
Photos ディレクトリ内のコマンドを使用して OpenDroneMap ディレクトリから run.pl ファイルを実行しようとしています../OpenDroneMap/run.pl
が、Bash エラーが発生し続けます。
このコマンドを実行できない理由はあるでしょうか?
答え1
Bash は、スクリプト/テキスト ファイル自体のファイルの先頭に、それを解釈するためにどの実行可能ファイルを実行する必要があるかを示すシェバンが含まれていない限り、常にスクリプト/テキスト ファイルを Bash コマンドのシーケンスとして解釈しようとします。ファイルの先頭にシェバンを追加して、Bash に Perl を使用してスクリプトを実行するように明示的に指示するか、
#!/usr/bin/env perl
または、Perl を使用してスクリプトを実行します。
perl ../OpenDroneMap/run.pl
逆SCITEアプローチに従わない(つまり、後から投稿された他のユーザーの回答に基づいて、以前に投稿された回答を編集しない)ために、これは現在受け入れられた回答であるため、OleksDovzが回答で述べた部分を編集します。つまり、を使用してスクリプトを実行している場合は../OpenDroneMap/run.pl
、スクリプトのファイルの先頭にシェバンが含まれていることを確認してください。そしてユーザーに実行フラグを設定します。ファイルの所有者の場合は、次を実行します。
chmod u+x ../OpenDroneMap/run.pl
答え2
チェックするシバン最初の行に存在し、「#!/usr/bin/perl」のように、このファイルに +x ビットを追加します。
chmod a+x ../OpenDroneMap/run.pl
またはスクリプトにPerlを使用する
perl ../OpenDroneMap/run.pl
その後は走れる