【问题标题】:cygwin interop questionscygwin互操作问题
【发布时间】:2009-02-05 22:29:08
【问题描述】:

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

问题:当我跑步时

which perl

在我的 cygwin 安装中,它并不指向我预装的 windows 安装,它指向的是 cygwin。如何更改它以使其指向我的基于 windows 的 perl 安装:

/cygdrive/c/perl/bin/perl

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

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

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

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

【问题讨论】:

    标签: bash shell command-line interop cygwin


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-15
      相关资源
      最近更新 更多