5 svn
我正在尝试从SVN中的事务中获取用户名来提交回购.
我写了以下内容pre-commit hook:
REPOS="$1"
TXN="$2"
touch /root/home/r/WC/log.log
AUTHOR="$(svnlook author -t $TXN $REPOS)"
echo $AUTHOR >> /root/home/r/WC/log.log
exit 0
Run Code Online (Sandbox Code Playgroud)
结果是 $(svnlook author -t 12-r /root/home/r/REPO)
显然TXN和REPOS变量是内插的,但svnlook author命令没有执行.
我已经尝试过编写命令的其他方法,例如
AUTHOR=$(svnlook author -t $TVN $REPOS) # returned syntax error
AUTHOR=`svnlook author -t $TVN $REPOS` # did not execute the svnlook command
Run Code Online (Sandbox Code Playgroud)
我在Solaris上运行SVN 1.8
小智 3
在预提交中,svnlook可能未定义该命令,这就是您以字符串格式获取它的原因。
您需要通过在命令行上svnlook执行来找出路径。which svnlook
它会返回类似的东西/nettools/subversion/svn1.8.10/bin/
现在,您可以执行以下操作:
AUTHOR=`/nettools/subversion/svn1.8.10/bin/svnlook author -t $TXN $REPOS`
Run Code Online (Sandbox Code Playgroud)
然后echo "$AUTHOR"