2016-03-29 28 views
1

我想寫一個BASH腳本,將printf到控制檯的git remote的URL,並且遠程對應於該函數的參數。Git - 通過參數到控制檯的printf遠程URL

print-remote() { 
    printf "Remote Url: $(git config --get remote.$1.url)" 
} 

而且我會這樣稱呼它:

print-remote origin 

,它應該打印出來

Remote Url: [email protected]:User/repository.git 

但這不是拿起我的$1,而且我剛剛回到

Remote Url: 

我覺得我錯過了一些語法。

+0

什麼是輸出'混帳配置--get remote.origin.url'?答案中給出的建議是有用的,但你的當前功能應該無論如何工作。 –

回答

1

試着改變你的函數:

print-remote() { 
    printf "Remote Url: %s\n" "$(git config --get remote."$1".url)" 
} 

原因是,如果從git輸出有任何%字符或其他一些特殊字符printf然後printf將嘗試使用它們作爲格式參數。

否則只是使用echo

print-remote() { 
    echo "Remote Url: $(git config --get remote."$1".url)" 
} 
+1

非常感謝,第一個建議就像一個魅力! –