O Bash não pode ver a atualização do PATH

1

Estou usando o Debian em uma VM. Eu faço o login na GUI e vou para Aplicativos > Acessórios > Terminal.

# echo shell: /bin/bash

Eu modifiquei ENV_SUPATH , ENV_PATH dentro de /etc/login.defs . Eu reiniciei o shell. No modo de superusuário echo $PATH mostra minha atualização. No modo normal echo $PATH não mostra minha atualização. Eu adicionei e modifiquei ~/.bash_profile . Ainda não consigo ver minha mudança e estou começando a perseguir minha cauda.

/etc/login.defs contents:

ENV_SUPATH      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/brian/.linuxbrew/bin
ENV_PATH        PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/brian/.linuxbrew/bin

~/.bash_profile :

PATH=/home/brian/.linuxbrew/bin:$PATH

Como posso resolver e resolver isso?

    
por P.Brian.Mackey 28.02.2015 / 16:33

1 resposta

0

Resposta curta: ajuste também /etc/profile (e /etc/sudoers cuidadosamente)

Resposta longa: a variável PATH é definida em vários lugares.

De acordo com o login.defs (5) , somente su o usa.

O sudo tem sua própria definição de PATH segura em /etc/sudoers (variável secure_path=... )

A maioria dos shell Unix vai ler /etc/profile e ~/.profile . No Debian, este arquivo é usado para definir o PATH do shell de login. Bash também lê ~/.bash_profile , ~/.bash_login .

... e provavelmente mais (execute grep '\<PATH\>' /etc/ -R )

    
por 07.03.2015 / 10:42