在shebang之后签名?

Utk*_*tku 26 scripting perl shebang

Apache httpd 项目的“support/apxs.in”脚本中@#!. 也就是说,脚本的第一行是:

#!@perlbin@ -w
Run Code Online (Sandbox Code Playgroud)

这是 Perl 的东西还是 UNIX 内核的东西?换句话说,可以使用path/to/script/script_name.in?

如果没有,那么用#!?启动脚本的原因是什么?

Kus*_*nda 47

这看起来像是 GNU Automake 模板中的占位符,它将由configure脚本填充。所以它既不是 Perl 或 Unix 内核的东西,而是 GNU 自动工具的东西。

它可能来自源代码分发中的文件,而不是来自通过make install或包管理器安装在系统上的文件。

或者,它来自使用从未perlbin正确定义的 GNU 自动工具的损坏构建。

该文件具有.in后缀确认它应该由configure.

不,您不能按原样执行此文件。运行时,占位符将被替换为perl可执行文件的正确路径configure