这是一个非常简单的...我只想在没有前面的 perl
命令的情况下使 perl 脚本可执行,而是让环境从 shebang 行推断解释器。这是我名为 test
的示例脚本:
#!/usr/bin/perl
print "Hey there\n";
然后我使用 chmod 775 test
使脚本可执行。如果我使用命令 perl test
,我会得到输出 Hey there
。
但是,如果我只键入 test
,则不会得到任何输出。这是怎么回事?为什么我的 shebang 行没有让环境意识到这是 perl?有人可以帮帮我吗?
最佳答案
不要将脚本命名为 test
。这是大多数 shell 中的内置命令,因此它们不会去寻找外部程序。
此外,要在当前目录中运行程序,您应该键入 ./programname
。在您的 $PATH
中包含 .
通常是一个坏主意,在没有目录前缀的情况下执行它是必要的。
关于linux - 使 perl 脚本可执行...我可以取消前面的 'perl' 语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21632360/