我正在尝试从ruby脚本(Ruby 1.9.3)中运行一个名为pdfgrep
的程序,该脚本在Windows 7上从Git Bash(MINGW32)shell运行。调用{{1在反引号中,我想得到结果并使用ruby方法清理它。
在查看this answer和this answer到a related SO question后,我想我应该将pdfgrep
变量转换为Windows样式路径中的unix路径,这是我的shell中的默认路径
(第3行)所以我用简单的ENV['PATH']
测试了$LOAD_PATH
的内容,这似乎有效。
script.rb
puts
运行时遇到的错误是:
#!/usr/bin/env ruby
ENV['PATH'].split('\\').join(File::SEPARATOR).split(';').inject($LOAD_PATH) {|lp,v| lp << v }
# The intention is to replace puts with a variable assignment
puts `pdfgrep -i "(issued|Total)" *.pdf`
当我提供完整路径 - ./script.rb:6:in ``': No such file or directory - pdfgrep -i "(issued|Total)" *.pdf (Errno::ENOENT)
时 - 没有错误消息。它仍然没有输出我期望的但它不会引起错误。
基本上我希望能够从ruby中调用我的shell c:/Users/cjross/bin/pdfgrep -i [etc...]
中的任何程序。任何建议将不胜感激。
修改 谢谢@konsolebox纠正我的错误引用。遗憾的是仍有路径问题。
答案 0 :(得分:0)
puts `pdfgrep -i '(issued|Total)' "*.pdf"`
我认为应该像
那样工作puts `pdfgrep -i "(issued|Total)" *.pdf`