在我以前question我創建了一個由圖案恢復文件的svn命令:運行bash命令的功能
svn st | grep SomeFolderA | awk {'print $2'} | xargs svn revert
現在我想讓它接受參數(文件模式)的指令並運行上述命令通過使用參數而不是SomeFolderA
。我嘗試添加這對我.bash_profile
文件:
function revert() {
"svn st | grep '$1' | awk '{print \$2}' | xargs svn revert" ;
}
當我運行revert SomeFolderA
我得到這個輸出:
-bash: svn st | grep 'SomeFolderA/' | awk '{print $2}' | xargs svn revert: No such file or directory
我也使用的完整路徑爲svn
嘗試,但它仍然無法正常工作。我錯過了什麼?
'「SVN ST | grep'$ 1'| awk'{print \ $ 2}'| xargs svn revert「'嘗試執行帶有該名稱的命令。刪除引號。參見http://www.linuxjournal.com/content/return-values-bash-functions關於bash函數如何返回值。 –
[如何從bash函數返回字符串值]的可能重複(http://stackoverflow.com/questions/3236871/how-to-return-a-string-value-from-a-bash-function) –
@ivan_pozdeev - 我做了一些挖掘,我承認bash腳本遠沒有成爲我最強大的一方。我認爲很容易看到,這不是一個沒有深思熟慮的問題。 SO正好解決了這些類型的問題,不僅是難以預見的問題。我們使用社區來加快我們的工作。通過得到這個答案,你可以幫我騰出幾個小時學習。 我真的不知道你發佈的問題是如何重複的。猜我雖然reg bash腳本比noobier更好。 – Avi