나는 최근에 나의 연구실을위한 행정 역할을 물려 받았고 나는 아직도 이것에 대해 상당히 새로운 것을 알고있다 ... 그래서 희망을 갖고이 질문은 의미가있다. 우리 시스템은 하나의 서버가 데이터 / 사용자 디렉토리를 호스팅하고, 하나는 소프트웨어와 응용 프로그램을 가지고, 세 개의 시스템은 다른 서버가 설치된 작업 컴퓨터로 사용되도록 설정됩니다. 새 사용자가 생성되면 ~ / .cshrc 파일이 생성되어 소프트웨어 서버에서 상위 .cshrc 파일을 제공합니다. 이 상위 파일에는 탑재 된 소프트웨어 서버에 설치하는 여러 프로그램에 액세스하는 데 필요한 모든 경로 설정 및 변수 등이 포함되어 있습니다. 그것은 완전히 혼란 스럽지만 ... 오 잘.
우리가 사용하는 프로그램 중 하나는 제대로 환경을 설정하고 올바른 디렉토리를로드하기 위해 시작하기 전에 다른 파일을 소스해야합니다. 어떤 이유로 터미널 창을 열 때이 원본 인스턴스가 더 이상 나타나지 않습니다. 여기 내가 찾은 것이 있습니다 :
내가 시도하고 명령 줄에서 프로그램을 시작하고 부모 .cshrc에서 명령을 인식하지만로드하려고하지만 컴퓨터의 디렉토리가 아닌 컴퓨터의 / usr / local 디렉토리에서 찾습니다 (소프트웨어의 디렉토리라고 생각합니다.) 기본 동작).
터미널에서 ~ / .cshrc를 실행하면 아무 것도 변경되지 않습니다. 그러나 터미널에서 상위 .cshrc 파일을 가져온 다음 프로그램을로드하려고 시도하면 문제가 발생하지 않습니다.
나는 ~ / .cshrc가 그 파일 내에 테스트 에코를 놓았 기 때문에 상위 .cshrc 파일을 적절히 소싱하고 있으며 터미널 창을 열 때이 에코를 볼 수 있다는 것을 안다. 소스 파일 내의 소스 명령이 일어나지 않는 것 같습니다.
이게 말이 돼? 소싱이 너무 많은 레이어가 있습니까? 왜 이런 일이 벌어지고 있는지 나는 모른다. 다음은 부모 .cshrc 파일의 코드가 올바르게 완료되지 않은 코드입니다.
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
##############
다른 컴퓨터가 다른 버전의 소프트웨어를로드해야하기 때문에 스위치가 있습니다. 미리 감사드립니다.