当前位置 : 主页 > 编程语言 > ruby >

为什么从Ruby调用Bash命令会抛出错误?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我正在尝试使用 Ruby在某些图像上执行以下bash命令: class Pingcrush def initialize Dir.foreach('drawable') do |item| next if item == '.' or item == '..' # do work on real items if item.end_with?(".png") then %x["wine pngcr
我正在尝试使用 Ruby在某些图像上执行以下bash命令:

class Pingcrush
  def initialize
    Dir.foreach('drawable') do |item|
      next if item == '.' or item == '..'
      # do work on real items
      if item.end_with?(".png") then
        %x["wine pngcrush.exe -brute drawable/#{item} new/#{item}"]
      end
    end
  end
end
Pingcrush.new

我所在的目录是drawable和new的父目录,但是,当我尝试运行脚本时,我总是得到同样的错误:

sh: wine pngcrush.exe -brute drawable/feed_cl.png new/feed_cl.png: not found

为什么会这样?我尝试切换我在Ruby中调用的路径,似乎无法使其工作.

它执行你的shell但找不到酒.尝试设置安装wine的完整路径.

which wine
网友评论