.bashrc 파일이란 무엇이며 무엇을합니까?


21

.bashrc파일이 무엇이며 정확히 무엇 을하는지에 대한 명확한 정보를 찾지 못하는 것 같습니다 .


지금까지 도움을 주셔서 감사합니다. 이 스크립트는 채색, 완성, 별칭 및 쉘 히스토리 등 모든 것을 수행하는 것 같습니다. 유용하지 않은 것이 있습니까?


4
.bashrc많은 bash 구성 파일 중 하나입니다. Bash 시작 파일 에 대한 공식 문서를 참조하십시오 .
muru

답변:


21

.bashrc파일은 대화식 모드 에서 새 터미널 세션이 시작될 때마다 실행되는 스크립트입니다 . Ctrl+ Alt+ 를 눌러 새 터미널 창을 T열거 나 새 터미널 탭 을 열면 이런 일이 발생합니다 .

반대로 로그인 모드 의 터미널 세션은 사용자 이름과 비밀번호를 요청하고 ~/.bash_profile스크립트를 실행합니다 . 예를 들어 SSH를 통해 원격 시스템에 로그온 할 때 발생합니다.

그만큼 .bashrc파일 자체는 터미널 세션 구성의 시리즈를 포함합니다. 여기에는 색상 지정, 완료, 셸 기록, 명령 별칭 등의 설정 또는 활성화가 포함됩니다. .bashrcUbuntu와 함께 배포 된 파일은 잘 주석 처리되어 있으며 파일을 읽음으로써 대부분의 작업을 이해할 수 있습니다.

.bashrc취향에 맞게 조정할 수 있습니다 . 여기 에 많은 추가 기능 이 포함 된 예를 얻을 수 있습니다.


링크가 끊어졌습니다.
rab

1
링크가 작동 중입니다.
Luís de Sousa

해당 페이지에서 다운로드 파일이 작동하지 않습니다.
rab

1
링크와 다운로드 모두 잘 작동합니다.
M. Becerra

5

에 대한 질문 수퍼 유저 - 의 .bashrc 파일은 무엇입니까? @pineapple에 의해 @DigitalRoss에 의해 답변 됨

실제로, 그것은 bash구체적으로 읽습니다 .bashrc(및 /etc/bash.bashrc). 다른 껍질이 많이 있습니다.

bash는 남자 페이지 (브라이언 폭스와 쳇 레이미으로는, 또한 정보 페이지 "배쉬 시작 파일" ) 권위있는 참조입니다 :

로그인 쉘이 아닌 대화식 쉘이 시작될 때 bash는 ~/.bashrc해당 파일이 존재하는 경우 명령을 읽고 실행 합니다. 이 --norc옵션 을 사용하여 금지 할 수 있습니다 . --rcfile파일 옵션을 읽고 대신 파일에서 명령을 실행하는 bash는 강제로 ~/.bashrc.

bash가 비 대화식으로 시작될 때, 예를 들어, 쉘 스크립트를 실행하기 BASH_ENV위해 환경 에서 변수 를 찾고, 변수 가 나타나면 확장되고, 확장 된 값을 읽고 실행할 파일 이름으로 사용합니다. Bash는 다음 명령이 실행 된 것처럼 동작합니다.

if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi  

그러나 PATH변수 의 값은 파일 이름을 검색하는 데 사용되지 않습니다.

파일은 단지 쉘 명령입니다. 일반적으로 프롬프트를 변경하고 환경 변수를 설정하며 쉘 프로 시저를 정의하는 데 사용됩니다. 일반적으로 파일 .profile은이 목적으로 사용되지만 bash확장명이 너무 많아 시작 파일에 bashism 을 넣고 자하는 사용자를 위해 자체 시작 파일이 필요 합니다.

" 로그인 쉘 아님 "은 스크립트 실행 및 일반적으로 창 관리자가 시작한 터미널 창과 같은 것을 의미합니다. 가끔 가지고 * nix에서 스크립트 시스템을 설정 .bashrc하고 BASH_ENV단지 소스 .profile. POSIX 셸 명령 외부에서 벗어나지 않는 한 모든 셸에서 동일한 초기화를 얻을 수 있습니다.

sh정말 bash일 때 특히 가치 가 있습니다. 이렇게하려면 :

. .profile

이것이 너무 복잡한 이유 중 하나는 때때로 사람들이 출력을 생성하는 것을 셸 시작 파일에 넣거나 무조건 프롬프트를 설정하기 때문입니다. system(3)C 프로그램에서는 말할 것도없고 언어 내에서 쉘 프로그램과 백틱 명령을 실행할 때 많은 문제가 발생 합니다. bash시작 방법 은 출력 및 프롬프트 설정이 올바른 파일 하나와 그렇지 않은 파일 하나를 갖도록 설계되었습니다. 일반적으로 런타임 테스트는 대화 형 작업을 구분하기 위해 수행됩니다 (예 : 프롬프트가 설정되어 있는지 확인).

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