2015-05-08 98 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 
    ]