Onde eu ajustei meu bash PATH?

9

Eu quero remover ~/bindo meu caminho. Eu o configurei meses atrás, quando o Linux (Ubuntu) era muito novo para mim, mas não sei como o adicionei ...

Nada aparece quando eu procuro todos os arquivos listados abaixo.
Onde mais ele poderia estar sendo montado? Está sendo pré-pendente após os $HOME/.profileprefixos PATH com$HOME/bin

Se isso fizer alguma diferença, eu recebo o mesmo PATH no prompt de comando e no script em execução.

#!/bin/bash
{
  echo "first dir of PATH is: '${PATH%%:*}'"
  shopt -s nullglob
  cat \
    /etc/profile \
    /etc/bash.bashrc \
    /etc/profile.d/*.sh \
    $HOME/.bashrc \
    $HOME/.bash_aliases \
    /etc/bash_completion \
    $HOME/.bash_completion* \
    $HOME/.profile \
    $HOME/.profile_zap \
    $HOME/.bash_profile* \
    $HOME/.bash_login* \
  | sed -rne '/~\/bin/p'
}

A saída é:

first dir of PATH is: '~/bin'
Peter.O
fonte
Tente grepping em PATHvez disso. Se ainda não tiver sorte, verifique todos os arquivos quanto a qualquer coisa que esteja sendo obtida.
Jw013
Você verificou seu ~ / .bashrc e ~ / .profile? Se não, dê uma olhada no perfil / etc /. Acho que você o encontrará em um desses lugares.
Nikhil
Obrigado a todos ... todas as sugestões foram úteis ... foi em ~/.gnomerc...
Peter.O

Respostas:

10

Convém rastrear a carga completa do ambiente no login. Apenas uma ideia.

Como o / etc / profile é o primeiro arquivo originado, você pode adicioná-lo na parte superior a:

set -x
exec 2> /tmp/debug.log

Em seguida, abra um novo terminal e faça a bash -l; depois disso, vá para o terminal original e remova as linhas adicionadas (você deseja ter um ambiente de trabalho, não é?).

Você deve terminar com um rastreamento completo de todas as etapas do loading_the_bash_environment em /tmp/debug.log. Será um arquivo loooongo.

Com isso, você deve ser capaz de localizar onde o "~ / bin" entra no seu PATH

Eu procuraria primeiro um grep de todos os arquivos obtidos. No seu post, aposto que o arquivo ~ / bin no caminho está definido em um arquivo diferente daqueles que você listou.

hmontoliu
fonte
@hmontoliu .. Eu tive alguns problemas com isso .. Primeiro, nada está indo para o log, mas estou obtendo muita saída no terminal ( konsole) ... A primeira referência a ~/binmostra já no caminho, mas não vejo nenhuma dica de onde ele veio. É, neste momento, já seguido pelo $HOME/binde $HOME/.profile(tenho certeza que é de lá, pois usei um diretório extra especial para este teste). ... Howerver, eu consegui encontrá-lo empiricamente, pesquisando todos os meus arquivos de texto .. Ele vem de ~/.gnomerc.. e preciso fazer login novamente para fazer com que ele mude. ?? !! ..
Peter.O
Tem certeza de que colou as linhas em cima de / etc / profile e está executando com uma planície bash -l? Ele deve enviar a depuração (-x) que vai para stderr para /tmp/debug.log; na verdade, eu só testei isso e funciona como eu esperava
hmontoliu
Vou tentar novamente (novamente) ... Essa análise de log é definitivamente o caminho a percorrer (quando tudo mais falha :) e esta é uma boa oportunidade para eu entender melhor ...
Peter.O
... Vou ter que colocar esse problema de log na cesta muito difícil por enquanto .. Ele ainda não saiu para o arquivo de log, mas tenho centenas de linhas no terminal .. mas tudo bem .. Tem sido uma boa introdução para o registro de depuração .. e eu certamente tem uma sensação muito melhor dos arquivos de configuração ... obrigado ...
Peter.O
3
Eu tive que substituir setcom execna segunda linha, então ele funcionou perfeitamente para mim :)
thomasa88