我正在运行OS X,基本上,我想设置一个目录,我可以删除一些Perl可执行文件并使用它们而无需键入
$perl /this/is/the/path/name.pl
每次我想使用一个。所以我修改了我的.bash_profile来为我想要删除可执行文件的桌面上的目录添加一个文件路径。我通过添加
修改了我的.bash_profilePATH=$PATH:/Users/Wes/Desktop/Perl_dir; export PATH
现在,它找到了我想要的Perl文件,但拒绝了我这样的权限
-bash: /Users/Wes/Desktop/Perl_dir/phylo.pl: Permission denied
我该如何解决这个问题?提前谢谢。
答案 0 :(得分:12)
确保perl脚本本身设置为可执行。您可以使用以下命令执行此操作:
chmod +x /Users/Wes/Desktop/Perl_dir/phylo.pl
然后确保脚本的第一行有一个合适的" hash-bang"用于调用perl的行,类似于:
#!/usr/bin/perl -w
有了这两个,我认为你的脚本应该开始工作了。 (注意:-w
并非严格必要,并且可能会在您的脚本中出现警告。但我建议您开发新的perl代码,因为它会鼓励某种品牌的perl卫生。)< / p>
答案 1 :(得分:2)
除了正确设置PATH之外,您还需要:
确保文件可执行
$ chmod +x /this/is/the/path/name.pl
检查你的“shebang line”,即脚本的第一行必须包含 机器上perl解释器的绝对路径,如下所示:
#!/usr/bin/perl
# this will work in Linux distros
要找出路径,请使用以下命令:
$ which perl
/path/to/perl
答案 2 :(得分:-1)
你可能需要使用sudo授权chmod,试试这个:
sudo chmod u+x program_name
./program_name
如果chmod不是sudo,你需要像这样运行:
sudo chmod u+x program_name
sudo ./program_name