tcsh에서 환경 변수는 언제 설정됩니까?

tcsh에서 환경 변수는 언제 설정됩니까?

나는 명령을 사용하여 .tcshrc 파일에 많은 환경 변수를 설정했습니다 setenv.
오늘 이들 중 하나를 설정 해제해야 할 때 .tcshrc에 설정한 환경 변수가 더 이상 환경에 없을 것으로 예상하면서 이 파일을 이동하고 새 터미널(모두 Gnome 그래픽 환경 내에서)을 열었습니다.
그러나 이러한 변수 중 일부는 여전히 고정되어 있습니다. 다른 곳에서 설정할 수 있습니까? 내 .login 파일이 비어 있다는 것을 알고 있습니다.

setenv 명령이 생각보다 더 전역적인가요? alt-ctrl-F2를 통해 새 가상 터미널을 열면 변수가 더 이상 설정되지 않습니다.

답변1

이는 일반 쉘이 아닌 세션 및 로그인 쉘과 관련이 있습니다.

새 세션을 시작하면(가상 터미널을 통해 로그인하거나 새 데스크톱 세션을 시작할 때 발생함) 로그인 프로세스는 기본 환경을 생성하고 이를 tcsh로그인 셸이라고 부르며 시작을 실행합니다. 전역 시작 파일(예 /etc/csh.cshrc: .tcshrc.

따라서 이 경우에는 모든 변경 사항이 확실히 표시됩니다.

"일반" 셸(데스크탑 환경에서 또는 tcsh기존 셸에서 실행)을 시작하면 환경이 정리되지 않고 전역 파일이 처리되지 않습니다(그러나 로컬 구성 파일은 처리됨).

환경이 정리되지 않았기 때문에 새로운 일반 쉘은 상위(데스크탑 시스템 프로세스 중 하나)로부터 환경을 상속받습니다. 프로세스가 이전 버전의 구성 파일을 읽었으므로 여전히 이전 환경 변수가 설정되어 있습니다.

데스크탑 세션에서 로그아웃했다가 다시 로그인하면 변경 사항이 적용되는 것을 볼 수 있습니다.

tcsh어떤 파일이 언제 처리되는지 알아보려면 매뉴얼 페이지를 참조하세요 .

관련 정보