Cygwin 从命令行开始超越比较

Cygwin 从命令行开始超越比较,cygwin,beyondcompare,Cygwin,Beyondcompare,我有超越3安装在 "C:\Program Files\Beyond Compare 3\BCompare.exe" 和Cygwin "C:\Cygwin\bin\bash.exe" 我希望能够使用以下命令: diff <file1> <file2> 我应该代替cygpath吗?当我在命令行中输入脚本名称时,出现“找不到命令”错误 gavina@whwgavina1 /cygdrive $ "C:\Documents and Settings\gavina\Deskt

我有超越3安装在

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

"C:\Cygwin\bin\bash.exe"
我希望能够使用以下命令:

diff <file1> <file2>
我应该代替cygpath吗?当我在命令行中输入脚本名称时,出现“找不到命令”错误

gavina@whwgavina1 /cygdrive
$ "C:\Documents and Settings\gavina\Desktop\bc.sh"
bash: C:\Documents and Settings\gavina\Desktop\bc.sh: command not found
有没有人能像我描述的那样工作?在Windows环境中也可以这样做吗


提前谢谢

在Cygwin内部,文件系统更像unix。cygpath组件存在是因为驱动器的根出现在路径中的不同位置。“C:\”对Cygwin没有任何意义,它认为“/”是根目录,驱动器必须从那里开始,因此cygpath扩展。此外,请尝试使用参考页面中的8.3表单:

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


在Cygwin内部,文件系统更像unix。cygpath组件存在是因为驱动器的根出现在路径中的不同位置。“C:\”对Cygwin没有任何意义,它认为“/”是根目录,驱动器必须从那里开始,因此cygpath扩展。此外,请尝试使用参考页面中的8.3表单:

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


@罗曼·希波谢谢,我有点傻

要在Cygwin中运行shell脚本,必须使其可执行

chmod 755 bc.sh 
然后运行脚本使用

./bc.sh

脚本在当前目录中。

@Romain Hippeau谢谢,我有点傻

要在Cygwin中运行shell脚本,必须使其可执行

chmod 755 bc.sh 
然后运行脚本使用

./bc.sh

脚本在当前目录中的位置。

将此函数添加到
~/.bashrc
文件中

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

然后,您可以在命令行上编写
bc file1.txt file2.txt
,并使用Beyond Compare进行漂亮的文本比较。

将此函数添加到
~/.bashrc
文件中

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

然后,您可以在命令行上编写
bc file1.txt file2.txt
,并使用Beyond Compare进行漂亮的文本比较。

在您的脚本中,您是否可以回显$1->$9以查看传入的内容?同时回显您试图运行的命令行以查看您试图执行的命令,然后发布该命令行。在您的脚本中,您是否可以回显$1->$9以查看传入的命令?同时,回显您试图运行的命令行,以查看您试图执行的是什么,然后发布。嗨,Kelly,这很好,但我在向程序传递参数时遇到了一些问题。如何传递两个windows格式的文件引用?嗨,Kelly,这很好,但是我在向程序传递参数时遇到了一些问题。如何传递两个windows格式的文件引用?