我正在尝试使用照片目录中的命令从 OpenDroneMap 目录运行 run.pl 文件,../OpenDroneMap/run.pl
但是我一直收到 Bash 错误。
有什么原因导致我无法运行该命令吗?
答案1
Bash 总是会尝试将脚本/文本文件解释为一系列 Bash 命令,除非脚本/文本文件本身在文件开头有一个 shebang 来描述必须运行哪个可执行文件才能解释它;或者在文件开头添加一个 shebang 明确告诉 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
之后你可以运行