【问题标题】:Run .rb (Ruby) file on a Shell Script在 Shell 脚本上运行 .rb (Ruby) 文件
【发布时间】:2013-10-03 18:36:47
【问题描述】:

我创建了一个 shell 脚本来自动化一些流程,例如:

#!/bin/bash
ruby RubyFile.rb

但是当我运行这个脚本时,我得到了这个错误:

ruby(2882):不允许操作

有谁知道这是什么鬼?

【问题讨论】:

  • 可能是用户权限问题。
  • 那个 Ruby 脚本到底在做什么?摆弄chown 或类似的东西?
  • 同意汤姆的观点。没有回答你的问题,但是如果你的 sh 脚本只是调用了一个 rb 脚本,你可以在 rb 的第一行插入#!/bin/env ruby 并直接调用它。

标签: ruby shell


【解决方案1】:

当我想将 Ruby 代码“作为可执行文件”运行时,我会使用它。

#!/usr/bin/env ruby

然后chmod 脚本。

chmod +x script.rb

然后运行它

./script.rb

我建议使用 env,因为通过/usr/bin/env 运行命令有利于在当前环境中查找程序的默认版本。

【讨论】:

    【解决方案2】:

    为什么这么复杂?为什么不只是

    #!/usr/bin/ruby
    

    或者你的红宝石在哪里?

    【讨论】:

    • 比如我用的是rvm,我的操作系统上不存在这个文件
    猜你喜欢
    • 2014-07-12
    • 2013-07-29
    • 2020-07-20
    • 2016-09-27
    • 2015-08-17
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多