Команда Cygwin ls не найдена

Это вопрос, который я сам ответил на свой технический блог, где я держу технические подсказки, которые мне нужно давать себе время от времени, поэтому я решил переместить его здесь. Оригинальное сообщение в блоге находится здесь: http://thehacklist.blogspot.com/2009/04/cygwin-ls-command-not-found.html

Если вы энтузиаст linux и действительно пропустите эти greps и sed/awks в окне Windows, вы, вероятно, установили cygwin, Вы попытались запустить его, дважды щелкнув значок cygwin на рабочем столе или файл cygwin.bat в каталоге C:\cygwin и получил приглашение bash-3.X$. Однако, хотя команды pwd или cd работают, если вы попробуете ls, он говорит: ls: command not found.

Ответ 1

  • Щелкните правой кнопкой мыши на "Мой компьютер" → Свойства → Дополнительно → Переменные среды.
  • Добавить новую переменную среды, называемую CYGWIN_HOME, и установить ее значение в C:\cygwin
  • Отредактируйте переменную среды PATH и добавьте к ней C:\cygwin\bin (обычно разделяемый символом ';').
  • Просто нажмите "ОК", выйдите из любых приглашений командной строки или bash оболочек (через cygwin), которые вы можете открыть, и откройте снова - это сработает!

Предположение - это предполагает, что вы установили cygwin в C:\cygwin. Если вы сохранили его где-то еще, пожалуйста, измените приведенное выше.

Ответ 2

Проверьте файл cygwin.bat, он должен иметь что-то вроде:

set PATH=C:\cygwin\bin;C:\cygwin;%PATH%
...etc
bash --login -i

(вам действительно не нужен c:\cygwin, но у меня есть несколько дополнительных скриптов /bat файлов, главное - c:\cygwin\bin)