Editando bash $ PATH

0

Eu quero editar meu bash $ PATH globalmente para todos os shells. Foi-me dito que eu poderia adicionar / remover coisas do meu .bash_profile ou .bashrc para fazer isso, mas quando eu olho nesses arquivos, eles estão faltando pastas que eu vejo quando eu

echo $PATH

Existe uma maneira de editar o $ PATH globalmente para todas as sessões de shell do próprio terminal? Ou existe outra maneira de configurar isso? Este é o meu caminho:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/users/developer/desktop/stack/3.dev-ops/build-test-deploy/front-end-package-manager/composer/bin:/usr/local/go/bin:/usr/local/share/dotnet:/opt/X11/bin:~/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Applications/Wireshark.app/Contents/MacOS:/Applications/Xamarin Workbooks.app/Contents/SharedSupport/path-bin

Estou tentando remover isso:

/users/developer/desktop/stack/3.dev-ops/build-test-deploy/front-end-package-manager/composer/bin
    
por Cody Rutscher 04.09.2018 / 05:54

2 respostas

1

O BASH primeiro lê e executa comandos do arquivo / etc / profile, se esse arquivo existir. Depois disso, ele procura por ~ / .bash_profile, ~ / .bash_login e ~ / .profile nessa ordem, e lê e executa os comandos do primeiro que existe e é legível.

Portanto, sua variável PATH está sendo definida em /etc/profile ou em .bash_profile , .bash_login ou .profile do seu diretório inicial.

Se você quiser adicionar ou remover diretórios ao seu caminho, você deve procurar lá. Se seu caminho estiver sendo definido globalmente em /etc/profile , eu recomendaria definir seu PATH personalizado localmente em ~/.bash_profile . É melhor não alterar o arquivo global /etc/profile .

EDITAR: Parece que você estava usando o macOS, então a resposta é editar o arquivo /etc/paths e remover o diretório ofensivo.

Certifique-se de explicar que você está executando o macOS em perguntas futuras para economizar tempo, pois sua configuração é um pouco diferente de, por exemplo, Linux.

    
por 04.09.2018 / 06:10
0

O PATH pode ser definido em qualquer uma das várias leituras do arquivo quando ele é iniciado. Para encontrá-los, execute isso em uma nova instância do iterm:

grep --color -rlH 'PATH=' \
     ~/.bashrc ~/.profile ~/.bash_profile ~/bash.login \
     ~/.bash_aliases /etc/bash.bashrc /etc/profile \
     /etc/profile.d/* /etc/environment \
     ~/.xinitrc ~/.xprofile /etc/xprofile \
     /etc/paths /etc/paths.d/
                        2> /dev/null

Esses são os padrões. Se você também estiver obtendo outros arquivos de um desses, as coisas podem ficar mais complexas.

Se você encontrar o arquivo configurando a variável PATH, estará pronto e poderá editar esse arquivo. Se não, talvez você tenha removido alguns pacotes. Qual é o PATH relatado em uma nova instância do iTerm?

    
por 04.09.2018 / 06:37

Tags