尝试从终端执行Ruby文件,但权限被拒绝。

3

我试图执行一个非常简单的 Ruby 文件,它保存在我的用户文件夹(默认情况下),并尝试从终端执行它(我使用的是 Yosemite 版本)。在输入:

#!/usr/bin/env ruby (然后将文件拖到终端)

之后,它给了我这个错误信息: -bash:(文件)权限被拒绝

我在网上找到了一些信息,他们说我应该解锁 Root,我已经解锁了,但仍然返回同样的访问拒绝。

我对这些东西非常新手,希望得到一些帮助!Smile | :)

谢谢!

1个回答

6
你需要在文件上赋予执行权限 chmod +x my_file 才能执行它。
执行 Ruby 脚本的三种方式:
如果你使用 bash: . my_file 在任何 shell 中: ./my_file ruby my_file (只有这个不需要 #!/usr/bin/env ruby
如果在 PATH 中,也可以直接使用 my_file 我认为只有 ./my_filemy_file 需要执行权限,其他只需要读取权限(请确保)。
你甚至可以使用 echo test |my_file 将内容传输到 STDIN 中,并将其包含在 my_file 文件中:
while line = $stdin.gets do
  print line
end

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接