Cygwin эмулирует среду GNU / Linux на вашем компьютере с Windows.Это означает, что вы работаете с «оболочкой», которая не совпадает с командной строкой Windows.
Если вы введете asdf.exe
в командной строке Windows, она попытается найти asdf.exeв текущем каталоге.Если он может найти его, файл выполняется.Если он не может его найти, он пройдет через все каталоги вашего %PATH%
и попробует еще раз.
Однако, если вы наберете asdf
в вашем bash (есть несколько видов оболочек,Bourne Again SHell - один из них), он не присматривает за ним в текущем каталоге.Вместо этого он попытается найти его в одном из ваших PATH
каталогов.Здесь я не могу дать никаких источников, но AFAIK это по соображениям безопасности.Если вы хотите запустить файл, которого нет в вашем PATH
, вы должны добавить к нему абсолютный относительный путь.Вы можете использовать ./
, он указывает на текущий каталог.
Вот почему вам нужно набрать ./ndk-build
, потому что он находится в текущем каталоге, а не в вашем пути.Нечто подобное /path/to/ndk/ndk-build
также будет работать, но вам придется набрать немного больше:).
(На самом деле это еще сложнее, если вы хотите выполнить файл, вам нужны разрешения на его выполнение. Googleпоможет вам, если у вас возникнут проблемы с этим.)