0
我正在编写一个旨在用于Unix类型平台和Windows并包含可执行文件的gem。应该如何命名可执行文件?在Unix类型的平台下,它通常的格式为someprog
,包含一个shebang“#!/ usr/bin/env ruby”;在Windows下它通常具有someprog.rb
的形式,并依赖于“.rb”扩展名与Ruby的文件关联。但是对于这两个平台的宝石来说,处理它的正确方法是什么?在Unix和Windows中包含可执行文件的公约,包括可执行文件
既然在* nix系统中存在任何扩展名或根本没有扩展名,它就不会承载文件本身的执行属性,为什么不把它设置成'.rb'文件,以便它通过文件关联在窗口上工作, * nix系统严格依据执行权。 – engineersmnky
是的,我可以做到这一点,但它似乎不自然 - 这将*要求*,用户键入“someprog.rb”,并且在POSIX类型的环境中看起来不自然,通常在不知道的情况下调用* name *或**关心**,不管* name *是二进制可执行文件,脚本还是tcl/perl/python/ruby /&c程序。 – varro
不,如果您提供别名或链接到您的命令,它不需要用户添加扩展名。该别名或链接将是实际称为的内容。 –