SVN在bash脚本中提交无法正常工作

时间:2011-08-22 09:42:13

标签: svn bash commit

我有一个小的示例脚本,是一个更大的脚本的一部分,除了svn提交部分之外它工作正常。

root@dx-svn02:~# cat test.sh 
#!/bin/bash
CMD="svn update /mnt/checkout/dx-test/"
echo "INFO>>>: $CMD"
$CMD

CMD="svn commit -m 'Updated various bits' /mnt/checkout/dx-test/"
echo "$CMD"
$CMD
root@dx-svn02:~# ./test.sh 
INFO>>>: svn update /mnt/checkout/dx-test/
At revision 3.
svn commit -m 'Updated various bits' /mnt/checkout/dx-test/
svn: '/' is not a working copy
root@dx-svn02:~# svn commit -m 'Updated various bits' /mnt/checkout/dx-test/
root@dx-svn02:~# 

我真的不明白更新如何工作,但提交没有。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

插入单引号字符串时不会引用它。

换句话说,你想拥有

ARGV[0] = svn
ARGV[1] = commit
ARGV[2] = -m
ARGV[3] = Updated various bits
...

...但是引用的方式,你得到了

ARGV[0] = svn
ARGV[1] = commit
ARGV[2] = -m
ARGV[3] = 'Updated
ARGV[4] = various
...

在执行命令时,最好使用set -x这样的命令来查看命令。