Начиная Beyond Compare из командной строки - PullRequest
2 голосов
/ 06 мая 2010

У меня установлен Beyond Compare 3 в;

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

и Cygwin;

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

Я бы хотел использовать такую ​​команду, как;

diff <file1> <file2>

в оболочку Cygwin, чтобы заставить процесс раскошелиться на процесс, открывающий два файла за гранью сравнения.

Я посмотрел на страницу поддержки 1011 * Beyond Compare , но, боюсь, она была слишком короткой для меня. Я попытался скопировать текст дословно (кроме пути к исполняемому файлу) безрезультатно;

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? При вводе имени сценария в командной строке появляется ошибка «Команда не найдена».

gavina@whwgavina1 /cygdrive
$ "C:\Documents and Settings\gavina\Desktop\bc.sh"
bash: C:\Documents and Settings\gavina\Desktop\bc.sh: command not found

У кого-нибудь работает Beyond Compare, как я описал? Возможно ли это даже в среде Windows?

Заранее спасибо!

Ответы [ 3 ]

0 голосов
/ 06 мая 2010

@ Ромен Хиппо Спасибо, я был немного идиотом.

Чтобы запустить скрипт оболочки в Cygwin, вы должны сделать его исполняемым.

chmod 755 bc.sh 

Затем для запуска скрипта используйте;

./bc.sh

Где скрипт находится в текущем каталоге.

0 голосов
/ 19 августа 2011

Добавьте эту функцию в файл ~/.bashrc.

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

Тогда вы можете просто написать bc file1.txt file2.txt в командной строке и получить хорошее сравнение текста, используя Beyond Compare.

0 голосов
/ 06 мая 2010

Внутри Cygwin файловая система больше похожа на unix. Компонент cygpath присутствует, поскольку корень диска находится в другом месте пути. «C: \» ничего не значит для Cygwin, он считает «/» корнем, и ваши диски должны начинаться с него, отсюда и расширение cygpath. Кроме того, попробуйте использовать форму 8.3, как на странице, на которую есть ссылки:

"$ (cygpath 'C: \ Progra ~ 1 \ Beyond ~ 1 \ bcomp.exe') "

...