Como removo o diretório atual (“.”) do meu PATH?

1

Atualizei recentemente o OSX para El Capitan e, no processo de executar as etapas necessárias para atualizar meu ambiente de desenvolvimento, descobri algo bastante perturbador: bash está se comportando como se . estivesse em PATH , embora não é. Este é um problema sério de segurança e não consigo encontrar uma maneira de desativá-lo.

Veja o resultado de 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

Observe como . está ausente dessa listagem? Com isso em mente, por que isso está acontecendo?

[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] :) $

De alguma forma, . está no meu caminho, mesmo que eu não o tenha configurado assim, e $PATH não o inclui. O que eu faço sobre isso?

    
por CoreDumpError 28.03.2016 / 19:51

1 resposta

0

Como Law29 apontou em um comentário, meu problema eram aquelas instâncias de dois pontos duplicados. Por algum motivo, o Bash parece tratar :: em seu PATH como se fosse :.: .

Isso parece um erro, já que não consigo imaginar por que alguém iria querer isso.

    
por 28.03.2016 / 22:10