Eu tenho um arquivo ~ / .cshrc que está obtendo outro arquivo, que deve fornecer um arquivo adicional, mas não é

0

Recentemente, herdei uma função de administração para o meu laboratório e ainda sou relativamente novo nisso ... por isso, espero que essa pergunta faça sentido. Nosso sistema é configurado de forma que um servidor hospede os diretórios de dados / usuários, um tenha o software e os aplicativos, e três sistemas sejam usados como computadores em funcionamento que possuem esses outros servidores montados. Quando um novo usuário é criado, um arquivo ~ / .cshrc é gerado, originando um arquivo pai .cshrc no servidor do software. Este arquivo pai contém todas as configurações de caminho e variáveis, etc. necessárias para acessar os diferentes programas que instalamos no servidor de software montado. É uma bagunça total ... mas tudo bem.

Um dos programas que usamos precisa criar um arquivo diferente antes de inicializar, a fim de definir corretamente o ambiente e carregar os diretórios corretos. Por algum motivo, essa instância de origem não está mais acontecendo ao abrir uma janela de terminal. Aqui está o que eu encontrei:

  • Eu tento iniciar o programa a partir da linha de comando e ele reconhece o comando do pai .cshrc, tenta carregar mas procura no diretório / usr / local no computador em vez do diretório no servidor de software ( Eu acredito que esta é a ação padrão do software).

  • Se eu executar o source ~ / .cshrc no terminal, nada muda. No entanto, se eu originar o arquivo .cshrc pai do terminal e, em seguida, tentar carregar o programa, não haverá problema.

  • Eu sei que o ~ / .cshrc está apropriando corretamente o arquivo pai .cshrc porque coloquei um eco de teste dentro desse arquivo e posso ver esse eco quando abro uma janela do terminal. Parece que o comando de origem no arquivo principal originado não está acontecendo.

Isso faz sentido? Existem muitas camadas de sourcing acontecendo ou algo assim? Eu não tenho ideia do porque isso está acontecendo. Aqui está o código dentro do arquivo pai .cshrc que não está sendo completado corretamente:

set hname = 'hostname'

##############
####
#### ccp4i
####
##############
switch ($hname)
    case phase15.XXX.edu:
         source /usr/local_programs/32-bit/ccp4/6.3.01/ccp4-6.3.0/bin/ccp4.setup-csh
         source /usr/local_programs/32-bit/ccp4/6.3.01/ccp4-6.3.0/setup-scripts/ccp4.setup-csh
         echo "ccp4i sourced" #(THIS SHOWS UP)
         breaksw
    default:
         echo "CCP4 env setting?"
         breaksw
endsw
##############

A opção é porque diferentes computadores precisam carregar versões diferentes do software. Desde já, obrigado.

    
por beowulfey 17.11.2014 / 22:05

1 resposta

0

Apenas para fins de gravação, descobri o problema; tipo de óbvio em retrospecto. O arquivo ~. / Cshrc dos usuários tinha um comando de origem separado que estava bagunçando tudo depois de ter fornecido o arquivo principal. No final, acho que esta é uma lição para sempre ler tudo cuidadosamente ...

    
por 18.11.2014 / 00:30