2010-05-06 2 views
2

나는 Beyond Compare 3을 (를) 설치했습니다.명령 행에서 비교를 넘어서 시작

"C:\Program Files\Beyond Compare 3\BCompare.exe" 

및 Cygwin;

"C:\Cygwin\bin\bash.exe" 

내가 원하는 것은 다음과 같은 명령을 사용할 수 있다는 것입니다.

diff <file1> <file2> 

을 Cygwin 셸에 넣고 비교할 때 두 파일을 여는 프로세스를 쉘 포크로 가져 오는 것이 좋습니다.

나는 Beyond Compare Support Page을 보았지만 나에게는 너무 짧았습니다. 나는 텍스트를 축 어적으로 (실행 파일에서 경로를 제외하고) 아무런 쓸모없이 복사하려고 시도했다.

Instead of using a batch file, create a file named "bc.sh" with the following line: 
"$(cygpath 'C:\Progra~1\Beyond~1\bcomp.exe')" `cygpath -w "$6"` `cygpath -w "$7"` /title1="$3" /title2="$5" /readonly 

cygpath를 대체해야하나요? 명령 줄에 스크립트의 이름을 입력 할 때 '명령을 찾을 수 없음'오류가 발생합니다.

[email protected] /cygdrive 
$ "C:\Documents and Settings\gavina\Desktop\bc.sh" 
bash: C:\Documents and Settings\gavina\Desktop\bc.sh: command not found 

내가 설명한대로 누군가가 비교 기능을 가지고 있습니까? Windows 환경에서도 이것이 가능합니까?

미리 감사드립니다.

+0

스크립트에서 전달중인 내용을 보려면 $ 1 -> $ 9를 에코 할 수 있습니까? 실행하려는 명령 줄을 표시하고 실행하려는 명령 줄을 표시 한 다음 게시하십시오. –

답변

0

Cygwin에서 파일 시스템은 유닉스와 비슷합니다. 드라이브의 루트가 경로의 다른 위치에 나타나기 때문에 cygpath 구성 요소가 있습니다. "C : \"는 Cygwin에 아무런 의미가 없으며, '/'가 루트이고 드라이브가 거기에서 시작해야하므로 Cygpath 확장이라고 간주합니다. 또한, 사용하려고 참조 된 페이지에서 같은 8.3 형태 :

"$ (cygpath 'C : \ PROGRA ~ 1 \ 너머 ~ 1 \ bcomp.exe')"

+0

안녕하세요. 켈리,이 부분은 훌륭하지만 프로그램에 인수를 전달하는 데 문제가 있습니다. 두 개의 창 형식의 파일 참조를 어떻게 전달합니까? – Logan

0

@Romain Hippeau 고마워, 나는 약간의 바보가되고 있었다.

Cygwin에서 쉘 스크립트를 실행하려면 실행 파일로 만들어야합니다.

chmod 755 bc.sh 

그런 다음 스크립트 사용을 실행하십시오.

./bc.sh 

여기서 스크립트는 현재 디렉토리에 있습니다.

0

~/.bashrc 파일에이 기능을 추가하십시오.

bc() { 
    "/cygdrive/c/Program Files/Beyond Compare 3/BCompare.exe" $1 $2 -fv "Text Compare" 
} 

그럼 그냥 명령 줄에 bc file1.txt file2.txt를 작성하고 저쪽에 비교하여 멋진 텍스트 비교를 얻을 수 있습니다.