이 파일을 내부에 소싱하는 .csh
다른 환경 변수를 사용하여 환경 변수를 설정할 수 없습니다 ..tcsh
- 이는 환경 변수를 설정하지 않습니다.
$PERC_PATH/bin/runperc.csh ...<some arguments>
- 반면에 환경 변수는 다음과 같이 설정됩니다.
source $PERC_PATH/bin/runperc.csh ..<some arguments>
둘 다 실행 가능하고 shebangs는 /usr/bin/csh
이며 그 안에 runperc.csh
소스가 있습니다.perc_setup.csh
source $PERC_PATH/perc_setup.csh
perc_setup.csh
포함된 명령setenv
과 기타 명령:setenv MGC_RVEDB_DIR {$PERC_PATH}/setup:{$HOME}
source
스크립트 경로를 명시적으로 지정하지 않고도 터미널에서 환경 변수를 어떻게 설정합니까 ?
답변1
환경 변수는 외부 실행 파일에서 셸로 "상향"으로 전파될 수 없습니다. csh 스크립트로 설정해야 하는 경우~해야 한다 source
해당 스크립트 – 원하는 경우 별칭 뒤에 '소스'를 숨깁니다.
alias perc 'source $PERC_PATH/bin/runperc.csh'
몇 가지 대안이 있습니다. 예를 들어 부모가 평가할 수 있도록 스크립트 출력 환경 변수를 stdout으로 만드는 것입니다. 그러나 이 방법은 훨씬 더 장황하며 여전히 부모 셸에서 직접 코드를 실행해야 합니다.