无法使用 cygwin 和 git-bash 启动 .lnk 文件

无法使用 cygwin 和 git-bash 启动 .lnk 文件

我有一个问题,我无法vagrant up在 cygwin 中执行此操作,因为 cygwin 无法理解C:\vagrantfile 使用的非 POSIX 样式路径。

我用git-bashvagrant 来启动,因为它可以理解非 POSIX 路径。为了让我的生活更加简单,我创建了 Windows.lnk文件来在 git-bash 中启动 bash 脚本,从而启动我的 ssh 代理并启动 vagrant。

我希望它更进一步,在 cygwin 中使用 bash 别名来创建一个别名,vagrant up该别名将启动我的vagrant-up.lnk等,这反过来又会启动 git-bash 会话并最终启动我的 vagrant 实例。

但是,我遇到了一个奇怪的问题,我无法.lnk使用 cygwin 或 git-bash 启动文件。

~/Desktop
$ cygstart vagrant-up.lnk
Unable to start 'vagrant-up.lnk': The specified path was not found.

认为这是一个路径问题,我尝试给出完整路径:

~/Desktop
$ cygstart -o /cygdrive/c/Documents\ and\ Settings/user/Desktop/vagrant-up.lnk
Unable to start 'C:\Documents and Settings\user\Desktop\vagrant-up.lnk': The operating system denied access to the specified file.

错误消息在 git-bash 中似乎更有用

MINGW64 /c/Users/user/Desktop
$ ./vagrant-up.lnk
bash: ./vagrant-up.lnk: cannot execute binary file: Exec format error

我在 google 上搜索了“bash 无法执行二进制文件”错误,但只找到了针对错误架构编译的 *nix 实用程序的结果(例如 x86 上的 AIX 等)

根据 Timothy Martin 的建议,我也尝试了这个,但没有成功:

$ cygstart /cygdrive/c/Users/user/Desktop/vagrant-up.lnk
Unable to start 'C:\Users\user\Desktop\vagrant-up.lnk': The specified path was not found.

有趣的是,它在此错误消息中使用了 Windows 样式的路径,但我不知道如何将该事实转化为问题的解决方案。

vagrant-up.lnkTarget:"C:\Program Files\Git\git-bash.exe" -l "C:\cygwin\home\user\vagrant\scripts\vagrant-up.git-bash"Start in:是 中"C:\Program Files\Git"

我需要做什么才能.lnk从 cygwin 启动这些文件?当我在 Windows 中双击它们时,它们运行得很好。

相关内容