1

我不太确定如何搜索以便自己找到答案的几个 Cygwin 问题:

问:我跑步的时候

which perl

在我的 cygwin 安装中,它不指向我预装的 windows 安装,它指向 cygwin 之一。我怎样才能改变它,使它指向我基于Windows的 perl 安装:

/cygdrive/c/perl/bin/perl

问题:当我查看调用 cygwin 的桌面快捷方式时,它指向 bash:

c:\cygwin\bin\bash --login -i

我找不到允许的命令行标志的文档。具体来说,我想找到一个允许我传入预定义用户命令的标志,这样当 cygwin 启动时,该命令会自动调用,而无需我输入。

这是我想定期定制的东西,所以把它放在 .bash_profile 或类似的东西中效率不高。如果可能的话,我希望能够从命令行指定它。

4

1 回答 1

2

第一点的答案是确保本机 win32 perl 出现在路径中的 cygwin 之前。

第二部分的答案是-c执行命令行上提供的命令。命令标志与标准 bash 相同,因此man bash或任何 bash 文档都会为您提供它们的列表。

顺便说一句,如果您将本机 win32 应用程序与 cygwin 混合和匹配,请查看UnxUtils。 它基于msvcrt.dll而不是cygwin.dll因此程序将与标准 Windows 路径很好地配合使用(例如C:\foo\bar,而不是需要 /cygdrive 路径之类的/cygdrive/c/foo/bar)。

它不如 Cygwin 全面,但成熟且稳定,并且具有基本 unix 命令(sed 等)的良好横截面。它可以很好地与 windows 命令文件配合使用(您可以进行管道和重定向)并且有一个端口zsh与它一起运行,因此它也将运行 shell 脚本,尽管 zsh 与 bash 不完全兼容。

于 2009-02-05T22:35:12.510 回答