如何创建一个可以在终端中不调用"Ruby"的情况下运行的Ruby应用程序?

vbq*_*ons 3 ruby macos terminal

我知道之前已经提出了类似的问题,但是我如何构建一个可以在终端中运行但不在其前键入"ruby"的Ruby文件?

这里的最终目标是创建一个命令行工具包类型的东西.现在,为了做我想让用户能够做的事情,他们必须打字

ruby Cherry init file_name
Run Code Online (Sandbox Code Playgroud)

进入终端.

我想要的是以下内容:

Cherry init file_name
Run Code Online (Sandbox Code Playgroud)

有什么我可以添加到ruby文件本身允许它自动运行Ruby,只需通过调用文件的名称?如果没有,我该怎么做呢?任何和所有的帮助是值得赞赏的,因为其他类似的线程没有我能理解的答案.

Jör*_*tag 5

确保您的脚本具有正确的shebang行,例如:

#!/usr/bin/env ruby
Run Code Online (Sandbox Code Playgroud)

此外,请确保尝试运行脚本的用户具有脚本文件的读取和执行权限.

这就是你需要做的.假设你安装了一个Ruby执行引擎,并且它的可执行文件被命名ruby并且它在你的中$PATH,那么你可以像任何其他可执行文件一样执行你的脚本文件.