linux - 使 perl 脚本可执行...我可以取消前面的 'perl' 语句吗?

标签 linux perl unix shebang

这是一个非常简单的...我只想在没有前面的 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/

相关文章:

linux - Linux下从Mono-GTK#应用程序访问 "Applications menu"

linux - Linux 中的扩展桌面

linux - Linux ld-linux.so 的版本化符号

perl - 测试 Catalyst URI

perl - 使用 Perl 获取目录中的子目录列表(仅顶级)

c - 了解 C 中的 fork

linux - 如何将 X11 中的帧捕获到文件中?

perl - 为什么 Perl say() 没有在 FCGI 模式下添加换行符?

字符计数程序不输出任何东西?

linux - Unix/Linux 管道是由生产者还是消费者驱动的?