2015-05-08 61 views
0

我正在Ruby脚本中运行一组系统命令,并且想要获得执行的结果(true/false)(如我已经做了一个简单的命令如何从Ruby脚本中执行一组系统命令获得结果

unless system("mkdir -p #{project_path}") 
    puts "Cannot create local project directory." 
    exit 1 
end 

一组命令我想:

unless system <<EOC 
    cp "#{dockerfile_template}" "#{project_path}" 
    cd "#{project_path}" 
    git init . 
    git add -A 
    git commit -m "first commit" 
    git remote add origin "#{project_repository}" 
    git push -u origin master 
EOC 
exit 1 
end 

,但它的失败:=> an't找到字符串“EOC” EOF 任何建议,欢迎之前的任何地方。 ..

+0

我无法重现该错误。你可以给我们一个[SSCCE](http://sscce.org/)吗?一个不依赖于未定义的变量和git仓库。 – Max

+0

谢谢你看着它...我解决了这个问题,改变了写作... git命令被执行......引发另一个问题,我会在另一个问题发布......阅读我自己的答案 – erwin

回答

0

我解决了写入问题,使用%x []写入:

output = %x[ 
    cp "#{dockerfile_template}" "#{project_path}" 
    cd "#{project_path}" 
    git init 
    git add -A 
    git commit -m "first commit" 
    git remote add origin "#{project_repository}" 
    git push -u origin master 
    ]