1

Я недавно обновил OSX до El Capitan, и в процессе выполнения шагов, необходимых для обновления среды разработки, я обнаружил нечто довольно тревожное: bash ведет себя так, как будто . в моем PATH , хотя это не так. Это серьезная проблема безопасности, и я не могу найти способ ее отключить.

Вот результат echo $PATH:

/Users/username/.rbenv/shims:/Users/username/.pyenv/plugins/pyenv-virtualenv/shims:/Users/username/.pyenv/shims:/opt/chefdk/bin:/Users/username/.chefdk/gem/ruby/2.1.0/bin:/opt/chefdk/embedded/bin:/Users/username/.pyenv/bin:/Users/username/.rbenv/bin:/Users/username/.rbenv/plugins/ruby-build/bin::/Users/username/bin:/src/workspace/s3-utils/bin:/opt/local/lib/oracle:::/Users/username/bin/IAMCli/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

Обратите внимание, как . отсутствует в этом списке? Имея это в виду, почему это происходит?

[10:26:57][username@flint:~/Downloads] :) $ ls script.sh ls: script.sh: No such file or directory [10:27:08][username@flint:~/Downloads] :( Exit code: 1 $ which script.sh [10:27:09][username@flint:~/Downloads] :( Exit code: 1 $ touch script.sh [10:27:15][username@flint:~/Downloads] :) $ chmod +x script.sh [10:27:19][username@flint:~/Downloads] :) $ which script.sh ./script.sh [10:27:23][username@flint:~/Downloads] :) $

Каким-то образом . в моем пути, хотя я не настроил его так, и $PATH не включает его. Что мне делать с этим?

1 ответ1

0

Как указал Law29 в комментарии, моей проблемой были случаи дублирования двоеточий. По какой-то причине Bash, по-видимому, обрабатывает :: в вашей переменной PATH, как если бы это было :.: .

Это похоже на ошибку, так как я не могу представить, почему кто-то хотел бы этого.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .