Bash SVN后提交挂钩

我有一个工作后提交钩子bash脚本syncronises Trac实例与SVN提交的最新版本。

#!/bin/sh TRAC="/var/trac/" REPOS="$1" REV="$2" if [[ "$REPOS" = "*TechReader*"]]; then trac-admin $TRAC"techreader" changeset added $REPOS $REV; fi if [[ "$REPOS" = "*InteractEnglish*"]]; then trac-admin $TRAC"interactenglish" changeset added $REPOS $REV; fi trac-admin $TRAC"egloo" changeset added $REPOS $REV 

最后的trac-admin调用会根据需要运行并更新内部Trac实例,但是if语句似乎不会触发Trac客户端实例的更新。

同步的命令是一样的,所以是有条件的错误?

有一些修补,我能够得到这个正确执行。 请注意,我用简单的echoreplacetrac-admin调用进行testing。

 #!/bin/bash TRAC="/var/trac/" REPOS="$1" REV="$2" if [[ "$REPOS" == *TechReader* ]]; then echo "first IF" $REPOS $REV; fi if [[ "$REPOS" == *InteractEnglish* ]]; then echo "second IF" $REPOS $REV; fi echo "done"; 

我所做的更改

  • 将bin / sh更改为bin / bash
  • 在之前添加一个空格]]
  • 删除第二个参数的引号