2016-06-17 3 views
4

SVN에서 repo로 커밋하는 트랜잭션의 사용자 이름을 얻으려고합니다.변수에 SVN 명령의 결과 저장

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 

그리고 결과는 분명히 TXN 및 REPOS 변수는 보간 된 $(svnlook author -t 12-r /root/home/r/REPO)

하지만 svnlook author 명령이 실행되지 않았습니다

나는하여 pre-commit hook에 다음과 같이 썼다.

내가 그런

AUTHOR=$(svnlook author -t $TVN $REPOS) # returned syntax error 
AUTHOR=`svnlook author -t $TVN $REPOS`  # did not execute the svnlook command 

내가 솔라리스

에에서

답변

3

SVN 1.8을 실행하는거야 같은 명령을 쓰는 다른 방법, 시도 사전 - 커밋 svnlook 명령은 이유입니다 정의되지 않을 수 있습니다 당신은 문자열 형식으로 그것을 얻고 있습니다.

명령 줄에 which svnlook을 실행하여 svnlook의 경로를 찾아야합니다. 그런 다음

AUTHOR=`/nettools/subversion/svn1.8.10/bin/svnlook author -t $TXN $REPOS` 

echo "$AUTHOR"

:

그것은 당신이 다음을 수행 할 수 있습니다, 지금 /nettools/subversion/svn1.8.10/bin/

같은를 반환합니다