繁体   English   中英

是否可以从Thor脚本中调用Git或其他命令行工具?

[英]Is it possible to call Git or other command line tools from inside a Thor script?

我发现在为我的Rails 3应用程序进行git提交之前和之后,我经常运行一系列例行的“清理”任务。

我正在考虑将这些东西放入Thor脚本,但有一点我无法弄清楚是如何使用Thor(或Rake)来调用系统上的其他工具。

是否可以从Thor或Rake脚本中调用git log类的命令,如果是这样,那是什么样的?

谢谢!

掏出来:

result = %x(git log)
puts result

要么

system('git log')

如果你只想将输出传递给终端。

还有grit gem将Git工具抽象为Ruby库:

require 'grit'
repo = Grit::Repo.new("/path/to/repo")
repo.commits.each do |commit|
  puts "#{commit.id}: #{commit.message}"
end

不要忘记那些只是Ruby文件,所以你也可以在那里使用Ruby库中的所有东西,所以像%x [rm -rf /], system (“rm -rf /”)和`rm -rf这样的东西/`也可以在这些脚本中访问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM