2011-03-29 2 views
0

친애하는 모든,
나는 쉘 스크립트의 도움으로 svn 복사 작업을 달성하려고합니다. 문제는 과 같은 svn 오류를 처리하는 것입니다. 나는이 작업을 달성하기 위해 쉘 스크립트를 작성하는 것을 시도하고있다쉘 스크립트를 사용하여 SVN 오류를 처리하는 방법은 무엇입니까?

http://localhost/myproj/branches/dev/dev1 
           /testing/test1 
           /maintainance/m1 

: 여기에 문제에 대한 간단한 설명을 간다처럼,
내 SVN 구조를 보인다.
내 쉘 스크립트 예상되는 동작 :

Enter the Source url to be copied: http://localhost/myproj/branches/dev/dev1 
Enter the new url name:http://localhost/myproj/branches/testing/test2 

나는 모든 사용자가 쇼 403 금지 오류 SVN 지점 다음 테스트 권한이없는 경우, 사용자에게 실제 SVN 오류를 보여주기 위해 내 스크립트를 원하지 않는다 나는 그 사용자에게 를 알리는 것을 원한다. 복사 할 수 없으면 관리자에게 문의하십시오. svn 오류를 일부 변수로 리디렉션 할 가능성이 있으며 해당 변수의 값에 따라 사용자에게 메시지가 표시됩니다. 나는 쉘 스크립트에서 그것을하고 싶다. pls guide me. 사전에

덕분에
스리 칸스 B

답변

3

>2>를 사용하여 출력을 리디렉션합니다. 아주 간단한 예를 들어 :

#!/bin/ksh 
svn copy $1 $2 2>&1 | grep '403 forbidden' 
if [[ $? -eq 0 ]] 
then 
    #The grep command was successful, i.e. '403 forbidden' was in the svn output 
    echo No access. 
    exit 1 
else 
    echo Complete 
    exit 0 
fi 

매우 간단하고, 다른 문제는 SVN 명령에서 나오는 다른 오류 특히 완전한 회피의 전체 무리를 가지고 있지만 당신에게 아이디어를 줄 것이다 어떻게 작동 할 수 있는지.

이 방법에 대한 자세한 내용은 Wikibooks의 페이지 Bourne Shell Scripting: Files and Streams을 참조하십시오.

+0

적시에 답변 해 주셔서 감사합니다. 다시 한번 감사합니다. – Srikanth

관련 문제