gpt4 book ai didi

ruby - ruby 程序开始时 "#!/usr/local/bin/ruby -w"的用途是什么

转载 作者:数据小太阳 更新时间:2023-10-29 06:25:46 28 4
gpt4 key购买 nike

在 ruby​​ 程序的开始写下面的命令有什么用?

#!/usr/local/bin/ruby -w

它是操作系统特定的命令吗?它对 Windows 上的 ruby 有效吗?如果不是,那么 Windows 中的等效命令是什么?

最佳答案

它被称为 Shebang .它告诉程序加载器使用什么命令来执行文件。因此,当您运行 ./myscript.rb 时,它实际上会转换为 /usr/local/bin/ruby -w ./myscript.rb

Windows 出于同样的目的使用文件关联; shebang 行没有效果(编辑:请参阅 FMc 的回答)但也不会造成任何伤害。

一种可移植的方式(例如,在 Cygwin 和 RVM 下工作)是:

#!/usr/bin/env ruby

这将使用 env命令找出 Ruby 解释器的位置,然后运行它。

编辑:显然,恰恰是 Cygwin 会在 /usr/bin/env ruby​​ -w 中出现异常,并尝试查找 ruby -w 而不是 ruby。您可能希望将 -w 的效果放入脚本本身。

关于ruby - ruby 程序开始时 "#!/usr/local/bin/ruby -w"的用途是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17447532/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com