/etc/bash.bashrc와 ~ / .bashrc의 차이점은 무엇입니까? 어느 것을 사용해야합니까?


20

두 개의 .bashrc 파일 각각을 사용하여 별칭, 프롬프트 등을 설정해야하는 경우는 언제입니까?

답변:


34

/etc/bash.bashrc 모든 사용자에게 적용

~/.bashrc 홈 폴더가있는 사용자에게만 적용됩니다.


3
그리고 dex의 대답은 암시 적입니다 ... 당신이 그 기계를 사용하는 모든 사람에게 당신의 의지를 적용하고 싶은 경우를 제외하고는 모든 경우에 ~ / .bashrc를 사용하십시오.
dacracot

엄밀히 말하면, 사용자는 항상 자신의 ~ / .bashrc에서 변경할 수 있기 때문에 /etc/bash.bashrc에 아무것도 적용하지 않습니다.
Kim

... 누군가가 모든 변수를 만들하기로 결정하는 경우를 제외 readonly/etc/bash.bashrc: \
grawity

1
우분투에서이 파일은 처음에 주석을 달았을 때 / etc / profile 파일에서 "소스 화"되어야합니다. /etc/bash.bashrc 끝에 별칭 명령을 추가하고 / etc / profile 파일 끝에 "source /etc/bash.bashrc"명령을 추가했습니다. 매력처럼 작동합니다.
jfmessier

2

GNU Bash 문서 에 따르면 :

Bash가 대화식 로그인 쉘 또는 --login 옵션을 사용하는 비 대화식 쉘로 호출 되면 파일이 존재하는 경우 먼저 / etc / profile 파일에서 명령을 읽고 실행 합니다. 해당 파일을 읽은 후 ~ / .bash_profile , ~ / .bash_login 및 ~ / .profile을 순서대로 찾고 존재하고 읽을 수있는 첫 번째 파일 에서 명령을 읽고 실행합니다 . 이 동작을 막기 위해 쉘을 시작할 때 --noprofile 옵션을 사용할 수 있습니다.

대화식 비 로그인 셸로 호출 로그인 셸이 아닌 대화식 셸이 시작되면 Bash는 해당 파일이있는 경우 ~ / .bashrc 에서 명령을 읽고 실행 합니다. --norc 옵션을 사용하여이를 방지 할 수 있습니다. --rcfile 파일 옵션은 Bash가 ~ / .bashrc 대신 파일에서 명령을 읽고 실행하도록합니다.

따라서 일반적으로 ~ / .bash_profile에는 다음 줄이 포함됩니다.

만약 [-f ~ / .bashrc]; 그때. ~ / .bashrc; fi

로그인 별 초기화 후 (또는 이전)


1
실제로는 아닙니다. git.savannah.gnu.org/cgit/bash.git/에 정의 된 SYS_BASHRC가있는 run_startup_files () 함수 에서이 파일 git.savannah.gnu.org/cgit/bash.git/tree/shell.c보십시오. tree / config-top.h
mloskot

1

개인 환경 설정 및 개인 스크립트 또는 bash 기능의 경우 .bashrc (별명, bash에 기능 추가 ...)를 사용해야합니다.

모든 사용자 (또는 대부분의 사용자) 또는 일반적인 용도 (공유 실행 파일 경로, 문서 경로 ...)와 공유하려는 순간을 /etc/bash.bashrc에 넣으십시오.

"Hello world!"모든 사용자에게 인쇄 하는 greetings.sh 스크립트를 지정한다고하더라도 대부분의 사용자에게 말 했지만 Pepe 사용자는 대신 greetings.sh 스크립트를 사용하려고합니다 "Hola el mundo!". 그는 .bashrc에서 경로를 수정하여 스크립트 대신 스크립트를 가리킬 수 있습니다. 다시 말해, 사용자는 언제든지 .bashrc에서 자신의 세션을 원하는대로 사용자 정의 할 수 있습니다.

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