무엇을합니까? .bashrc는 실제로합니까? 별칭을 사용하면 해당 터미널

예를 들어 보면 내 .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 등원이 아닌 경우 나중에 수정해야 할 작업이있을 수 있습니다.

추가 자료


답변

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.