Ruby:内核#`权限被拒绝运行命令
发布时间:2020-12-17 02:37:17 所属栏目:百科 来源:网络整理
导读:在试图了解 Ruby执行方法时,我发现这篇博客文章介绍了在Ruby http://mentalized.net/journal/2010/03/08/5_ways_to_run_commands_from_ruby/中运行命令的五种方法 作者创建了一个文件err.rb,它输出两行,一行在STDOUT上,另一行在STDERR上 #!/usr/bin/env ruby
在试图了解
Ruby执行方法时,我发现这篇博客文章介绍了在Ruby
http://mentalized.net/journal/2010/03/08/5_ways_to_run_commands_from_ruby/中运行命令的五种方法
作者创建了一个文件err.rb,它输出两行,一行在STDOUT上,另一行在STDERR上 #!/usr/bin/env ruby puts "out" STDERR.puts "error" 他尝试运行它的第一种方法是使用Kernal#`(反引号) >> `./err.rb` err => "outn" 这说明了在使用反引号运行时
当我试图在我的系统上复制它时,我收到了一个权限错误 localhost:sites mike$`./err.rb` -bash: ./err.rb: Permission denied 我试过sudo ./err.rb没有变化. 我可以运行ruby err.rb,但这会产生与作者得到的结果不同的结果.即通过运行ruby err.rb我得到 out error 有人可以解释为什么我试图用反引号运行它时会遇到权限错误,而且通常用反引号运行它的目的是什么. 解决方法
尝试添加权限执行,使用“chmod x that_file_name”
要使用“./file”格式执行,“文件”需要具有执行权限 它在ruby时运行,因为ruby具有执行权限,它只是读取该文件. 试试这个 localhost:sites mike$chmod +x err.rb (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |