나는 ~ / .cshrc 파일을 가지고 있는데,이 파일은 다른 파일을 소싱하는 것이지만 추가 파일을 소싱해야하지만 그렇지 않습니다.


0

나는 최근에 나의 연구실을위한 행정 역할을 물려 받았고 나는 아직도 이것에 대해 상당히 새로운 것을 알고있다 ... 그래서 희망을 갖고이 질문은 의미가있다. 우리 시스템은 하나의 서버가 데이터 / 사용자 디렉토리를 호스팅하고, 하나는 소프트웨어와 응용 프로그램을 가지고, 세 개의 시스템은 다른 서버가 설치된 작업 컴퓨터로 사용되도록 설정됩니다. 새 사용자가 생성되면 ~ / .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
##############

다른 컴퓨터가 다른 버전의 소프트웨어를로드해야하기 때문에 스위치가 있습니다. 미리 감사드립니다.

답변:


0

녹음 목적으로 만 문제를 알았습니다. 돌이켜 보면 분명하다. 사용자의 ~. / cshrc 파일에는 상위 파일을 소싱 한 후 모든 것을 엉망으로 만드는 별도의 소스 명령이 있습니다. 결국, 이것은 항상 모든 것을 신중하게 읽는 교훈이라고 생각합니다 ...

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.