在 Windows 上创建 UNIX 风格的快捷方式?

在 Windows 上创建 UNIX 风格的快捷方式?

我有一个独特的问题...我在 Windows 机器上开发 Perl,但我的测试/生产服务器是 AIX。我希望能够使用 Apache 和 Perl 的安装进行本地测试,但我不想更改所有脚本中的 #! 行以进行本地测试,然后将它们改回上传到测试服务器。

我的问题是:我可以在 Windows 中创建类似 '/usr/bin/perl' 的某种快捷方式/别名/其他东西吗?实际上指向‘C:\ActiveState\Perl5.0.12\perl.exe’?

我对此有点困惑,所以非常感谢任何帮助。谢谢!

答案1

是的,你可以。只需创建 Perl 源代码中指定的路径即可。例如,如果你使用 #!/usr/pkg/bin/perl,那么在 Windows 上,你可以在同一个驱动器(可能是 C:)上创建路径并在那里创建指向它的符号链接(不带 .exe)。

根据你正在做的事情,它可能有效也可能无效,但你必须尝试。如果你只是希望在本机运行 .pl 文件,那么这将行不通,因为在读取二进制文件的第一行以确定如何执行/解释它方面,Windows 不像 Unix 或 Linux 那样灵活。

您可以使用 Windows“mklink”命令来创建符号链接(感谢@grawity 建议我添加这一点)。

答案2

别打扰。

C:\> 输入 t1.pl
/usr/bin/perl 的 #!
使用严格;
使用警告;
打印“有效\n”;

t1.pl 目录
有效

但我认为 Apache 需要一个正确的 shebang 行 - 在这种情况下,请参阅https://stackoverflow.com/questions/2036577/how-do-i-ignore-the-perl-shebang-on-windows-with-apache-2

答案3

您可以尝试在 C 分区上复制 unix 目录结构,然后您可以相应地创建符号链接(如果在 NTFS 上)。虽然在 NTFS 上,它们被称为“路口“并且 Windows 资源管理器无法区分连接点和原始文件/目录 -你需要这个工具使用 NTFS 的连接功能。

我喜欢符号链接,并且像疯子一样使用它们。但我避免在 NTFS 上使用连接点,因为资源管理器不会显示它们是什么,而且我担心忘记我做了什么,或者更糟的是,其他人会以某种方式导致世界崩溃。不过,这可能对你有用。不过这主要取决于 perl 解释器如何转换 unix 样式的路径以在 Windows 上使用。

相关内容