在我的 cygwin 安装中,bash 找不到 ksh,但它位于文件夹 bin/ksh 中,扩展名为 lnk

在我的 cygwin 安装中,bash 找不到 ksh,但它位于文件夹 bin/ksh 中,扩展名为 lnk

我在 C: 上的 Windows XP 桌面上安装了 cygwin。除了启动 .ksh 时,它运行正常。我收到以下错误消息:

bash: ./xxx.ksh: /bin/ksh : Bad interpreter:No such file or directory

我使用 ls -al ksh 查看了 /bin 文件夹,找到了 ksh.exe.lnk(我的 Windows 资源管理器中的快捷方式。此快捷方式的目标存在于我的文件系统中 - pdksh.exe)。我已在 xxx.ksh 中进行了更改

#!/bin/ksh

#!/bin/pdksh

而且它运行良好,但这是一个及时的解决方案......

答案1

您是使用 cygwin 创建符号链接,还是在 Windows 中将其创建为快捷方式?cygwin 创建的链接与 Windows 兼容,但您在 Windows 中创建的快捷方式并不总是与 cygwin 兼容,除非您手动更改它们。请参阅

在 cygwin 中使用ln -s /bin/pdksh.exe /bin/ksh创建符号链接(看这里)。

编辑:固定链接方向

相关内容