bash脚本中的SVN commit无法正常工作
我有一个小的示例脚本,是一个更大脚本的一部分,除了svn提交部分外,它工作得很好bash脚本中的SVN commit无法正常工作,svn,bash,commit,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-
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:~#
我真的不明白更新是如何工作的,但是提交没有。
任何帮助都将不胜感激。单引号字符串在插入时不会保留引号 换句话说,你想要
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
之类的工具查看命令。版本控制代码的根是什么(即带有.svn
子目录的最高级别目录)?如果您cd到dx test
并从那里进行提交,是否有效?我认为不是一个工作副本
错误是抱怨/
不是svn repo的一部分。但是我没有尝试提交/Yeh听起来不错,我正在尝试CMD=“svn commit-m\”Updated variable bits\”/mnt/checkout/dx test/“但是现在我得到了。/test.sh:第5行:svn commit-m“Updated variable bits”/mnt/checkout/dx test/:没有这样的文件或目录repeat,在尝试执行命令之前,最好不要将命令放入变量中。如果您需要查看执行的内容,请在脚本开头添加set-x
。是的,我将它改为只执行此操作#/bin/bash echo“CMD