На этот вопрос уже есть ответ:
Пока я выполнял программу на C в терминале, я написал:
gcc -o demo demo.c
./demo
На самом деле я сомневаюсь, почему мы пишем ./
до demo
] и что это значит?
Когда мы выполняем любую команду в терминале, она будет искать ее в переменной окружения PATH. Используя ./ (относительный путь), мы говорим оболочке искать эту команду в нашем текущем каталоге.
Проверить echo $PATH
Существует два способа выполнения любых команд
Когда bash интерпретирует командную строку, он ищет команды в местах, описанных в переменной $ PATH. Чтобы увидеть его, наберите:
echo $PATH
Обычно его нет в этом списке. Причина отсутствия текущего каталога в этом списке - безопасность.
В
blockquote>./
говорится: ищите мою команду в текущем каталоге, а не во всех каталогах, указанных в $ PATH.Подробнее о:
В противном случае терминал не знает, что делать с демонстрационным файлом
.«./» перед именем файла означает «выполнить этот файл в текущем каталоге», если файл, который вы хотите выполнить, не находится в том же каталоге, в котором вы находитесь, вам нужно будет указать путь к файлу как это:
Xxxxx @ xxxx / Documents / filetoexecute