Eu quero remover ~/bin
do 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/.profile
prefixos 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'
bash
environment-variables
path
Peter.O
fonte
fonte
PATH
vez disso. Se ainda não tiver sorte, verifique todos os arquivos quanto a qualquer coisa que esteja sendo obtida.~/.gnomerc
...Respostas:
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:
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.
fonte
konsole
) ... A primeira referência a~/bin
mostra já no caminho, mas não vejo nenhuma dica de onde ele veio. É, neste momento, já seguido pelo$HOME/bin
de$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. ?? !! ..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 esperavaset
comexec
na segunda linha, então ele funcionou perfeitamente para mim :)