我有一个小的示例脚本,是一个更大的脚本的一部分,除了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:~#
我真的不明白更新如何工作,但提交没有。 任何帮助将不胜感激。
答案 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
这样的命令来查看命令。