Назад | Перейти на главную страницу

ksh не найден с помощью bash в моей установке cygwin, но присутствует в папке bin / ksh с расширением lnk

Я установил cygwin на рабочий стол с Windows XP на C :. Работает нормально, кроме случаев, когда я запускаю .ksh. У меня было это сообщение об ошибке:

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

Я просмотрел папку / bin с помощью ls -al ksh и нашел ksh.exe.lnk (ярлык в моем проводнике Windows. Цель этого ярлыка существует в моей файловой системе - pdksh.exe). Я поменял свой xxx.ksh

#!/bin/ksh

в

#!/bin/pdksh

И он работает нормально, но это практическое решение ...

Вы создавали символическую ссылку с помощью cygwin или создавали ее как ярлык в Windows? Ссылки, создаваемые cygwin, совместимы с Windows, но ярлыки, которые вы создаете в Windows, не всегда совместимы с cygwin, если вы не измените их вручную. Видеть этот.

Использовать ln -s /bin/pdksh.exe /bin/ksh в cygwin для создания символической ссылки (посмотреть здесь).

Редактировать: фиксированное направление ссылки