예를 들어 보면 내 .bashrc
파일에 새 별칭을 사용하면 해당 터미널 창에서 즉시 사용할 수 없으며 최근까지 .bashrc
파일 을 다시로드하기 위해 터미널을 다시 시작해야한다고 생각했습니다 . 그런 다음 글을 쓰면 어딘가에
. .bashrc
이것은 .bashrc
현재 창에서 파일을 다시로드 할 것이고 다시 시작할 필요가 없습니다. 이것은 지느러미 작동하지만 실제로 무슨 일이 일어나고 있습니까? 왜 .bashrc
파일을 다시로드 합니까?
답변
.
명령 이기 때문 입니다.
쉘 내장 명령으로, 명명 된 파일을 읽고 현재 쉘 프로세스에서 명령을 실행합니다.
Bourne Again 쉘은 source
이 명령과 동의어입니다. 그러나 이것은 Bashism입니다 (Bourne Again 쉘은 C 쉘에서 가져 왔습니다). Bourne Again 쉘이 TENEX C 쉘, Z 쉘 및 다른 쉘과 공유하는 것은 Bashism이지만 Korn 쉘은 아닙니다. 단일 UNIX 사양은 표준화 만합니다 .
.
또한 Bourne Again 쉘이 POSIX 호환 모드에서 실행 중인지 여부에 따라 .
/ 의 동작이 source
미묘하게 변경됩니다. (비표준 동작은 다른 쉘과 동일하지 않지만 다른 쉘과 비슷합니다. 예를 들어 Z 쉘에는 사전 컴파일 된 쉘 스크립트 메커니즘 이 있으며 검색 경로 처리 와는 source
미묘하게 다릅니다 .
. 쉘 .
은 다른 예제를 위해 쉘 기능을 실행합니다.)
~/.bashrc
쉘 시작시 내용이 (쉘 프로세스 호출 방법에 따라) 자동으로 제공되는 여러 파일 중 하나 일뿐 입니다. 수동으로 소싱 하는 것을 금지하는 것은 없습니다 . 해당 조치가 dem 등원이 아닌 경우 나중에 수정해야 할 작업이있을 수 있습니다.
추가 자료
- “특수 내장 유틸리티 : dot” . 쉘 명령 언어 . 단일 UNIX 사양. 이슈 6. IEEE 1003.1. 2013. 공개 그룹.
- bashisms . 그렉의 위키.
- “본 쉘 내장” . 배쉬 참조 매뉴얼 . 자유 소프트웨어 재단.
- “배쉬 내장” . 배쉬 참조 매뉴얼 . 자유 소프트웨어 재단.
- “배시 시작 파일” . 배쉬 참조 매뉴얼 . 자유 소프트웨어 재단.
- Bash 스크립트 실행과 소싱의 차이점은 무엇입니까?
답변
help .
당신에게 말할 것입니다 :
.: . filename [arguments]
Execute commands from a file in the current shell. Read and execute commands from FILENAME in the current shell. The entries in $PATH are used to find the directory containing FILENAME. If any ARGUMENTS are supplied, they become the positional parameters when FILENAME is executed. Exit Status: Returns the status of the last command executed in FILENAME; fails if FILENAME cannot be read.
Saying . .bashrc
은 파일 .bashrc
을 변경하여 현재 세션에서 사용 가능한 파일 을 실행 (소스)합니다 .
기본적으로 ~/.bashrc
로그인시 읽습니다.
.
의 동의어입니다 source
.
답변
.
명령은 같은 일이 source
당신의 실행 명령 .bashrc
파일을. 그러면 정의한 모든 별칭과 다른 셸 설정 / 변수가 현재 환경에 추가됩니다. 에서 source
의 도움말 페이지 :
source: source filename [arguments]
Execute commands from a file in the current shell.