Variáveis do Linux $ PATH, links suaves e Comando não encontrado

1

Estou tendo problemas com links simbólicos e com a variável $ PATH.

Eu tenho um diretório:

# /usr/rulerX/square

onde / usr / rulerX / square é um link simbólico tal que:

# ls -la
square --> square.hg.current

Minha variável de caminho é definida como:

# echo $PATH
/usr/rulerX/square/bin:/usr/local/bin:/usr/bin

Eu tenho um arquivo, runSquare, em /usr/rulerX/square.hg.current/bin /

Aqui está o problema:

# runSquare
runSquare: Command Not Found

O que dá? Se eu definir /usr/rulerX/square.hg.current/bin para o PATH; tudo funciona bem. No entanto, se eu tiver o link simbólico (apenas 'quadrado'), ele não poderá encontrar o arquivo.

  • estou usando o CentOS com csh
por Carlo del Mundo 17.09.2010 / 17:30

2 respostas

2

Alguns shells (incluindo csh e derivativos) mantêm uma lista pré-processada de arquivos nos diretórios ao longo de PATH para aumentar a velocidade de pesquisa. Se o seu shell está fazendo isso, você precisa instruí-lo para reconstruir a lista.

Geralmente há um shell embutido para isso, e é geralmente chamado de rehash .

    
por 17.09.2010 / 17:50
0

Não importa; parece que depois de alguns minutos; o $ PATH para / bin / propagado para o link simbólico.

Poderia ser um bug?

    
por 17.09.2010 / 17:44