[115384]Я только что написал это в качестве комментария, но я думаю, что это также может помочь ответить на ваш вопрос для [115898]./configure[115899] части. [12230]Существует важная разница между Windows и linux в том, что касается поиска команды для выполнения.[12231]В Windows, текущий каталог всегда рассматривается первым в PATH w/o, фактически находящемся там.[12232]В linux (ну по крайней мере, bash) текущий каталог не находится в PATH, если только вы явно не поместили его туда. [12233]Когда вы набираете имя в командной строке Windows, например [115900]zip[115901], он сначала ищет текущую директорию для этой команды (используя некоторые специфические правила о расширениях для определения того, что является исполняемым файлом, на который на самом деле может ссылаться [115902]zip[115903]), если он находит соответствующий исполняемый файл, он выполняет его, в противном случае он просматривает каждую директорию, перечисленную в переменной окружения PATH. [12234]В типичной командной строке оболочки linux, ввод команды работает аналогично EXCEPT, что имя без компонента пути можно найти, только посмотрев в каталогах, перечисленных в переменной окружения PATH. Кроме того, как было сказано в другом ответе, linux не заботится о расширениях для определения типа файла, так что если вы не наберете расширение как часть имени, оно не будет найдено, поэтому многие файлы не имеют расширений). [12235]Это означает, что в оболочке linux, если вы наберете [115904]configure[115905] путь будет искать исполняемый файл с именем configure[115906], но если текущий каталог не находится в этом пути, файл [115907]configure` в этом каталоге не будет найден и не будет выполнен.[12236]Так как у вас часто бывают файлы, которые вы хотите выполнить в каталоге, который не находится в этом пути, вы можете запустить его, указав ему компонент пути в командной строке. Так как [115908].[115909] относится к текущей директории, вы можете использовать относительный путь для настройки в текущей директории, набрав [115910]./configure[115911]. Если вы хотите запустить команду [115912] configure[115913], которая была в подкаталоге [115914] build[115915] текущей директории, вы набираете [115916] build/configure[115917].[12238] Вы можете добавить текущую директорию (как [115918].[115919]) к вашему пути в linux, но это считается плохой идеей, смотрите [115920] Безопасно ли добавлять . к моему PATH? Почему? [12239]
Jeff Schaller
06.10.2016, 14:18
Ссылка