Niedawno odziedziczyłem rolę administracyjną w moim laboratorium i wciąż jestem w tym całkiem nowy ... więc mam nadzieję, że to pytanie ma sens. Nasz system jest skonfigurowany w taki sposób, że jeden serwer obsługuje katalogi danych / użytkowników, jeden ma oprogramowanie i aplikacje, a trzy systemy są używane jako działające komputery z zamontowanymi innymi serwerami. Po utworzeniu nowego użytkownika generowany jest plik ~ / .cshrc, który pozyskuje nadrzędny plik .cshrc na serwerze oprogramowania. Ten plik nadrzędny zawiera wszystkie ustawienia ścieżki i zmienne itp. Niezbędne do uzyskania dostępu do różnych programów, które instalujemy na zamontowanym serwerze oprogramowania. To totalny bałagan ... ale cóż.
Jeden z używanych przez nas programów musi przed uruchomieniem pobrać inny plik, aby poprawnie ustawić środowisko i załadować prawidłowe katalogi. Z jakiegoś powodu ta instancja źródłowa nie działa już po otwarciu okna terminala. Oto, co znalazłem:
Próbuję uruchomić program z wiersza polecenia i rozpoznaje on polecenie nadrzędne .cshrc, próbuje załadować, ale szuka w katalogu / usr / local na komputerze, a nie w katalogu na serwerze oprogramowania (uważam, że jest to oprogramowanie akcja domyślna).
Jeśli uruchomię source ~ / .cshrc w terminalu, nic się nie zmieni. Jednak jeśli źródłowy nadrzędny plik .cshrc pozyskuję z terminala, a następnie spróbuję załadować program, nie otworzy się to bez problemu.
Wiem, że ~ / .cshrc prawidłowo pozyskuje nadrzędny plik .cshrc, ponieważ umieściłem echo testowe w tym pliku i widzę to po otwarciu okna terminala. Wygląda na to, że polecenie źródłowe w źródłowym pliku źródłowym się nie dzieje.
Czy to ma sens? Czy dzieje się zbyt wiele warstw pozyskiwania lub coś takiego? Nie mam pojęcia, dlaczego tak się dzieje. Oto kod w nadrzędnym pliku .cshrc, który nie wypełnia poprawnie:
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
##############
Zmiana polega na tym, że różne komputery muszą ładować różne wersje oprogramowania. Z góry dziękuję.