Ubuntu: Redefine $ PATH para o padrão de fábrica

5

Eu cometi um erro ao adicionar um diretório ao caminho e executá-lo

$ PATH=/path/to/my/directory/

em vez de

$ PATH=/path/to/my/directory/:$PATH

Consequentemente, minha variável $PATH agora contém apenas meu próprio diretório, o que obviamente é um problema. Eu não sei exatamente o que estava no caminho antes, mas se eu puder redefinir para o padrão de fábrica eu posso começar de lá e adicionar coisas conforme eu precisar delas.

Existe uma maneira fácil de conseguir isso?

    
por Tomas Aschan 27.04.2011 / 15:27

3 respostas

6

Se você puder, apenas sair e relogar .

Caso contrário, você pode começar com

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

e adicione entradas ausentes.

    
por 27.04.2011 / 15:45
2

Na página man do bash (1):

When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable.

Então, no seu sistema, é mais provável que você só precise olhar para o que é o valor PATH padrão em / etc / profile, configurar isso e depois construir com base no que seus próprios scripts bash de login / profile fazem para CAMINHO.

Se você não estiver usando o bash (1), mas algum outro shell, use "man thatShellName " para descobrir qual é o comportamento de invocação e execute etapas semelhantes.

Como um atalho rápido, no seu shell atual, (novamente, supondo que você esteja usando o bash (1)), digite "bash --login" para obter um novo processo de shell de login; então, salve o valor do caminho com

echo $PATH > /tmp/myPath.txt

depois "sair" do shell de login e digite

export PATH='cat /tmp/myPath.txt'

(observe o uso de carrapatos na última expressão).

Ou se você é um aplicativo terminal que possui habilidades de copiar / colar, basta "bash --login", copiar o valor PATH para a área de transferência, sair e depois "exportar PATH" e colar no PATH valor.

    
por 27.04.2011 / 15:47
0

Você também pode criar um novo usuário e copiar as entradas $PATH de lá.

Além disso, em um servidor Ubuntu eu encontrei:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
    
por 27.04.2011 / 15:48