2013-02-16 60 views
1

我試圖做一個bash腳本這將:如何打印bash腳本實際運行的是什麼?

  1. 添加的所有變化與git
  2. 犯了一個消息我傳遞給bash腳本
  3. 推到回購

我試圖做到這一點:

m=\"$*\" 
git add -A 
echo git commit -m $m 
git push 

但是,我收到錯誤說error: pathspec 'Q2,' did not match any file(s) known to git.爲我傳遞給腳本的所有單詞。

我怎樣才能看到它實際上在做什麼bash?當我把echo放在違規行(我認爲是提交)前面時,我得到了一個正確的表單命令。如果我把它放到終端,我運行查找。

回答

4

要了解慶典做,加-xv選項來認領行:

#!/bin/bash -xv 

的問題是可能的報價。 m=\"$*\"不會做你想做的。 $m如果包含空格,它仍然會被分成幾個單詞,只是第一個單詞以雙引號開頭,最後一個單詞以雙引號結尾。

相反,出錯的行更改爲

git commit -m "$m" 
+0

非常感謝你。 – superbriggs 2013-02-16 20:20:32