Почему при вызове команды Bash из Ruby возникает ошибка? - PullRequest
3 голосов
/ 02 июня 2011

Я пытаюсь выполнить следующую команду bash на некоторых изображениях с использованием Ruby:

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, и не могу заставить это работать.

Ответы [ 3 ]

5 голосов
/ 02 июня 2011

Выполняет твои снаряды, но не может найти вино.Попробуйте установить полный путь к месту установки вина.

which wine
1 голос
/ 03 июня 2011

Вы проверили, что wine pngcrush.exe -brute drawable/feed_cl.png new/feed_cl.png работает, когда вы набираете его из командной строки, не так ли?

1 голос
/ 02 июня 2011

Не ставьте кавычки вокруг вашей команды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...