2014-04-03 233 views
1

這是一個愚蠢的問題,但我無法從ruby腳本運行git命令。我需要尋找一些東西嗎?腳本的從ruby腳本運行git命令

簡單的例子:

checkout = %x("/usr/bin/git version") 
puts checkout 

輸出:

sh: /usr/bin/git version: No such file or directory 

如果我從CMD線運行命令它的工作原理:

git version 1.7.9.5 

理解的任何輸入。謝謝。

+0

使用'這git'揣摩出你的'git'實際存在。 – meagar

回答

5

可以使用Kernel#systemKernel#exec或本報價``:腳本

$> irb 
    => `git status` 
    => "# On branch develop\nnothing to commit, working directory clean\n" 
    => system('git version') 
    => git version 1.8.3.4 (Apple Git-47) 
    => exec('git version') 
    => git version 1.8.3.4 (Apple Git-47) 

#!/usr/bin/env ruby 
puts system('git version') 
puts `git version` 
puts exec('git version') 

輸出:

git version 1.8.3.4 (Apple Git-47) 
true 
git version 1.8.3.4 (Apple Git-47) 
git version 1.8.3.4 (Apple Git-47) 
+0

那麼,我需要對傳遞給腳本的參數運行git命令。 irb在這裏不適合我...... – user797963

+1

@ user797963 IRB只是作爲一個例子,你在IRB中編寫的任何東西都可以複製粘貼到Ruby腳本中並從那裏運行。它是一樣的。 – meagar

+1

@ user797963我在腳本中使用這個命令 –