2013-02-16 88 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