/usr/local/etc/profile은 어디에서 받아야 합니까? .bash_profile 또는 /etc/profile?

/usr/local/etc/profile은 어디에서 받아야 합니까? .bash_profile 또는 /etc/profile?

기본적으로 bash는 /etc/profile~/.bash_profile.

이제 기계별 프로필 명령도 있다고 가정해 보겠습니다 /usr/local/etc/profile(이 내용은 에서 다루 므로 이 명령으로 오염시키고 /usr/local싶지 않습니다 )./etc

내 질문: 구매에 대한 책임은 누구에게 있습니까 /usr/local/etc/profile? 이는 에서 시작 ~/.bash_profile되거나 다음 줄에서 시작되어야 합니다.

if [ -f /usr/local/etc/profile ]; then
    . /usr/local/etc/profile
fi

~해야 한다실제로 내에서 /etc/profile실제로 컴퓨터에 무엇이 있는지에 관계없이 배포판 설치에 유효하기 때문에?

답변1

관례적으로 시스템별 로그인 시간 초기화를 배치할 올바른 위치는 입니다 /etc/profile. /usr/local/etc어쨌든 많은 Unix 변종은 전혀 신경 쓰지 않습니다.

GUI 로그인의 경우 profile파일을 직접 읽을 수 없습니다. 그러나 많은 X11 배포판은 /etc/profileX 세션 초기화에서 소스 코드를 읽도록 구성됩니다. /usr/local/etc/profile고전적인 위치가 아니며 소스가 제공되지 않습니다.

많은 배포판에는 디렉토리가 있고 여기 /etc/profile.d에 코드를 넣어 /etc/profile파일을 가져옵니다 /etc/profile.d. 배포판에서 이 작업을 수행한 경우 시스템별 콘텐츠를 위한 가장 좋은 위치는 입니다 /etc/profile.d.

최신 *BSD에서는 /usr/local로컬 설치가 아닌 패키지 소프트웨어와 /usr/local/etc패키지 또는 해당 구성과 함께 제공되는 파일에 적용됩니다. /etc와 의 차이점은 /usr/local/etc구성이 기본 시스템용인지 특정 프로그램용인지 여부입니다. /etc/profile시스템 전체 구성입니다. 로그인 셸이 타사 패키지인 경우 해당 구성은 에 있어야 /usr/local/etc하지만 profile특정 셸에만 국한되지 않고 /bin/sh기본 시스템의 일부에 적용 가능하다고 가정할 수 있습니다. (FreeBSD는 일관성이 없는 것 같습니다. bash 패키지는 읽지 /usr/local/etc/profile만 zsh 패키지는 읽습니다 /etc/zprofile.)

관리자로서 사용자가 자신의 파일에서 다른 파일을 가져오도록 허용하는 경우 .profile해당 파일의 사용자 정의가 모든 사람에게 적합하지 않고 특별한 요구 사항이 있는 사용자에게만 적합하다는 것을 나타냅니다.

답변2

출처는 누구의 책임인가요 /usr/local/etc/profile?

모든 사용자가 사용할 수 있는 경우 에서 얻을 수 있습니다 /etc/profile. 이미 언급한 다음 줄을 추가하세요./etc/profile

[ -f /usr/local/etc/profile ] && source /usr/local/etc/profile

관련 정보