[bash] 로그 아웃했다가 다시 로그인하지 않고 .bashrc를 어떻게 다시로드합니까?
로 변경하면 .bashrc
로그 아웃했다가 다시 로그인하지 않고 어떻게 다시로드합니까?
답변
다음 명령을 입력하면됩니다.
source ~/.bashrc
또는 더 짧은 버전의 명령을 사용할 수 있습니다.
. ~/.bashrc
답변
또는 다음을 사용할 수 있습니다.
exec bash
이것은 똑같은 일을하고 기억하기 쉽습니다 (적어도 나를 위해).
exec
명령은 완전히 지정된 명령 줄을 실행하여 쉘 프로세스를 대체합니다. 이 예에서는 현재 셸이 무엇이든 bash
(업데이트 된 구성 파일을 사용하여) 새로운 인스턴스로 바꿉니다 .
답변
하려면 보완하고 대비 두 개의 가장 인기있는 답변을, . ~/.bashrc
그리고 exec bash
:
두 솔루션 모두 효과적으로 다시로드 ~/.bashrc
되지만 차이점이 있습니다.
-
. ~/.bashrc
또는 현재 쉘source ~/.bashrc
을 보존 합니다 .~/.bashrc
현재 쉘로 다시로드하는 수정 ( 소싱 )을 제외하고 환경 변수, 쉘 변수, 쉘 옵션, 쉘 기능 및 명령 히스토리를 포함 하여 현재 쉘 및 해당 상태 가 보존 됩니다.
-
exec bash
또는보다 견고하게exec "$BASH"
[1] 은 현재 쉘 을 새 인스턴스로 교체 하므로 현재 쉘의 환경 변수 (임시 정의한 변수 포함) 만 보존합니다 .- 즉, 쉘 변수, 쉘 기능, 쉘 옵션, 명령 히스토리 측면에서 현재 쉘에 대한 임시 변경 사항이 유실됩니다.
필요에 따라 하나 또는 다른 방법이 선호 될 수 있습니다.
[1] exec bash
은 이론적으로 현재 셸을 시작한 것과 다른 bash
실행 파일을 실행할 수 $PATH
있습니다. 특수 변수 $BASH
에는 항상 현재 셸을 시작한 실행 파일의 전체 경로가 포함 exec "$BASH"
되므로 동일한 실행 파일 을 사용해야합니다 .
메모 재 "..."
주위 $BASH
: 그대로 변수 값 배시에 의해 해석하지 않고, 사용되는 것을 보장을 이중 인용; 값에 공백이나 다른 셸 메타 문자가없는 경우 (이 경우에는 해당되지 않음) 큰 따옴표가 필요하지 않지만이를 사용하는 것이 좋습니다.
답변
누군가 내 대답을 편집하여 잘못된 영어를 추가했지만 여기에 허용 된 답변보다 열등한 원본이 있습니다.
. .bashrc
답변
환경에 따라 입력 만
bash
작동 할 수도 있습니다.
답변
이를 통해 “source ~ / .bashrc”를 입력 하지 않아도 됩니다 .
bashrc 파일을 포함 시키십시오 :
alias rc="vim ~/.bashrc && source ~/.bashrc"
bashrc를 편집 할 때마다 별명 ” rc “를 실행하십시오.
답변
. ~/.bashrc
대안
source ~/.bashrc
source
.
POSIX sh에서는 bash의 점 / 마침표 와 동의어 이므로 최대 호환성을 위해 마침표를 사용하십시오.
exec bash
exec
명령 은 주어진 프로그램으로 쉘 을 대체합니다 … – WhoSayIn