2013-04-24 67 views
1

我想根據git describe命令的輸出創建一個目錄。將git描述爲shell變量

這並沒有工作

set NAME = git describe 
mkdir %NAME% 

我應該怎麼辦?

回答

3
在Windows

,捕獲命令的輸出,使用FOR /F命令。

閱讀HELP FOR,然後嘗試這個

FOR /F %a in ('git describe') do md %a 
+1

這看起來像解決了問題。我很好奇,如果使用了_Eval_,它會起作用嗎? 像'set NAME = Eval(git describe)'。 不幸的是,我不在我的Windows機器上,所以我現在無法測試它。無論如何,只是好奇。謝謝! - 參考:http://ss64.com/vb/eval.html – 2013-04-24 18:03:05

+1

Eval是一個VB函數,它不是Windows命令,所以它不能在Windows命令行中執行。 – 2013-04-25 07:10:08

1

在Windows上,您可以嘗試PA所述的方法。

現在,如果你在Linux上,以下可能的工作:

試試這個:

# Create the command 
alias your-command="mkdir $(git describe)" 

# Run the command 
your-command 

與應創建的git describe輸出命名的文件夾。

這是在Ubuntu安裝上測試的,它只能在存儲庫文件夾本身內部工作。

請注意,所描述的命令會創建一個別名。如果你想設置的輸出git describe作爲一個shell變量,你應該做到以下幾點:

# Create a local variable 
foo=$(git describe) 

# Create a new folder using `mkdir` 
mkdir ${foo} 

注意,現在你有與git describe值的局部變量。你可以試試:

echo ${foo} 
+2

OP稱Windows命令行 – 2013-04-24 17:06:43

+0

你說得對,沒有注意到標籤。編輯澄清! – 2013-04-24 18:00:57