Возможный дубликат:
что обозначают «/», «./», «../» при указании пути?
Зачем мне нужны ./
команды для запуска на Mountain Lion?
Например, при использовании mysql я должен набрать в терминале:
./mysql -u itsme -p
Кроме того, я создаю приложения командной строки и делаю мои файлы исполняемыми, и мне нужно выполнить команду с помощью ./
, как это ...
./myawesomeapp dothis
Я знаю, что ./
означает текущий каталог, но как я могу запускать команды, не используя его?
mysql
linux
osx-mountain-lion
Леонель
источник
источник
Ответы:
Если вы поместите каталог с вашими двоичными файлами в
PATH
переменную окружения, вы можете вызывать их без указания пути (т. Е../
)Я предполагаю, что вы, вероятно, используете bash в качестве оболочки (вы можете проверить, запустив
echo $SHELL
). Если это так, добавьте следующее к вашему.bashrc
источник
Вы должны установить исполняемый файл в один из каталогов, перечисленных в переменной среды
$PATH
.Отрегулируйте
$PATH
, изменив свой~/.profile
файл.Можно отказаться от
./
всегда добавляя.
к$PATH
, но это может быть проблемой безопасности - если не на личной машине, а затем , когда вы носите плохую привычку более во время работы сервера.источник
Несмотря на то, что есть возможность добавить
.
переменную $ PATH, настоятельно рекомендуется НЕ делать этого. Если вы гуляете вокруг некоторого случайного места в файловой системе и ввести то , что вы думаете , будет запускать программу (vi
,emacs
,ls
,ps
, и т.д.), файл в локальном каталоге станет кандидатом для работы. Если вам не повезло, это НЕ та программа, которую вы хотели запускать вообще - и если вы работаете какroot
, это даже хуже, потому что кто-то вполне может добавить локальный файл,ls
который делает что-то совершенно отличное от реальногоls
(наряду с выполнением реальных ls, конечно - иначе было бы очевидно, что это не настоящий ls, и пользователь начал бы исследовать ситуацию). [1]Вместо этого вы должны добавить абсолютный путь к тому месту, где у вас есть исполняемые файлы, например
/projects/mycurrentprojects/bin
- или «относительно дома», например~/bin
- если вы хотите, чтобы путь работал во ВСЕХ обстоятельствах, лучше использоватьhome\mats\bin
[очевидно, используя правильное имя пользователя для себя] , Таким образом, применимы только файлы в определенном наборе каталогов, и независимо от того, где вы находитесь, только программы, которые находятся в этих конкретных каталогах, выбираются в качестве «возможных кандидатов для запуска».[1] Да, я понимаю, что порядок поиска и другие факторы также будут иметь значение здесь. Но обычно не стоит добавлять «текущий каталог», какие бы возражения не было.
источник
~
может не всегда расширяться, вызывая разочарование. Его замена выполняется программами оболочки, в то время как могут использоваться различные другие типы средPATH
./home/mats/bin
- редактирование ...