首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails 4中的Scrot命令

rails 4中的Scrot命令
EN

Stack Overflow用户
提问于 2014-04-29 09:53:21
回答 2查看 121关注 0票数 1

我正在尝试开发一个rails应用程序,在这个应用程序中,它每分钟都要拍摄桌面的屏幕快照。我在网上搜索,找不到与这个任务相关的任何创业板文件。

因此,当我搜索屏幕截图时,我得到了一个命令scrot。在命令行中执行时,它将获取屏幕截图。但问题是我的Ruby文件不识别scrot命令。

有没有从Ruby文件执行scrot命令的方法?这个函数有任何创业板文件吗?

我知道什么时候可以从Ruby执行scrot命令。到了crontab就能解决我的问题。

我使用Ubuntu13.04作为我的操作系统。

这是我的TestsController,我需要在这里执行命令

代码语言:javascript
复制
class TestsController < ApplicationController

    require 'fileutils'
    include FileUtils

    def link
        return "http://" + root_domain 
    end


    def new
        puts pwd()
        result = scrot()
    end
end
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-29 10:36:57

我想您是Ruby的新手(这不是犯罪;-)。

在Ruby中,shell命令不能使用函数调用;有一些特殊的语法:

代码语言:javascript
复制
`echo hello`
#=> hello
%x{echo hello}
#=> hello

pwd()之所以工作,仅仅是因为它是在irb中实现的Ruby函数;实际上,它只在irb中工作(除非您没有实现ir,或者您需要一个实现它的库)。

因此,为了以shell命令的形式运行scrot,您应该编写

代码语言:javascript
复制
def new
  result = `scrot` # or
  result = %x{scrot}
end
票数 1
EN

Stack Overflow用户

发布于 2014-04-29 10:16:12

您可以从ruby脚本中运行任意代码,方法是将它包含在backticks中。

Scrot是用C编写的命令行库,所以它不会在ruby中运行,您需要做的事情如下

代码语言:javascript
复制
result = `you scrot command` 
#use result how you would like
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23361305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档