sách gpt4 ăn đã đi

Ruby: Kernel#`Quyền bị từ chối chạy lệnh

In lại 作者:数据小太阳 更新时间:2023-10-29 07:30:37 29 4
mua khóa gpt4 giày nike

在尝试了解 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
=> "out\n"

这说明的重点是,当使用反引号运行时

STDERR is output, but not captured
STDOUT is captured

当我试图在我的系统上复制它时,我遇到了权限错误

localhost:sites mike$ `./err.rb`
-bash: ./err.rb: Permission denied

我试过 sudo ./err.rb 没有任何改变。

我可以运行 ruby err.rb 但这会产生与作者得到的结果不同的结果。即通过运行 ruby err.rb 我得到

  ngoài
lỗi

有人可以解释为什么我在尝试使用反引号运行它时遇到权限错误,以及通常使用反引号运行它的全部目的是什么。

câu trả lời hay nhất

尝试添加执行权限,使用“chmod +x that_file_name”要使用格式“./file”执行,"file"需要具有执行权限

它在你使用 ruby 时运行,因为 ruby 具有执行权限并且它只是读取该文件。

试试这个

localhost:sites mike$ chmod +x err.rb

关于Ruby:内核#`运行命令的权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13107365/

29 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress