Qual é a variável real do PATH

3

No computador do meu escritório, parece que tenho duas variáveis PATH .

$path : This is delimited by " " (Space)

$PATH : This is delimited by ":" (Colon)

Embora quando eu atualizo um, o outro é atualizado também. Esse é o comportamento normal no Linux ou há algo estranho acontecendo na minha máquina?

Devo manter os dois ou excluir um deles?

Edit: Estou usando csh , achei isso porque alguns dos meus colegas estavam atualizando a variável "path", enquanto outros fizeram isso com PATH . Embora eu tenha excluído todas as ocorrências de atualização de PATH em meu .cshrc , ele ainda aparece quando tento ecoá-las.

    
por Kartik Anand 05.03.2014 / 08:30

1 resposta

7

A variável PATH real é a maiúscula, exceto em (t) csh em si, onde é um pouco mais complicado.

PATH é uma variável de ambiente, que todas as aplicações (não apenas shell) procuram para invocar um programa pelo nome. O valor de PATH é uma string listando nomes de diretórios separados por dois pontos.

Por conveniência, o csh também fornece uma variável chamada path . O valor dessa variável é uma lista de strings, cada string sendo um nome de diretório. Sempre que você definir path , csh definirá automaticamente PATH para a concatenação dos elementos de path com : entre os elementos.

Se você definir PATH com set , path não será afetado. Além disso, csh define a variável de ambiente PATH para corresponder à sua variável interna path , portanto, set PATH=... não tem efeito prático.

Se você definir PATH com setenv , path será atualizado de acordo. No entanto, setenv PATH … não afeta para que $PATH se expande, o que dificulta o uso.

O resultado é que, em csh, você deve ficar com path . Mas em qualquer outro lugar PATH é o único que você verá.

    
por 06.03.2014 / 02:31

Tags