programing

로그아웃 후 다시 로그인하지 않고 .bashrc 설정을 새로고침하려면 어떻게 해야 합니까?

muds 2023. 4. 16. 15:56
반응형

로그아웃 후 다시 로그인하지 않고 .bashrc 설정을 새로고침하려면 어떻게 해야 합니까?

.bashrc로그아웃 후 다시 로그인하지 않고 새로고침하려면 어떻게 해야 하나요?

long form 명령어는 다음과 같이 입력할 수 있습니다.

source ~/.bashrc

또는 짧은 버전의 명령어를 사용할 수도 있습니다.

. ~/.bashrc

또는 다음을 사용할 수 있습니다.

exec bash

이것은 (적어도) 같은 일을 하고 기억하기 쉽다.

exec지정된 명령줄을 실행하여 셸 프로세스를 완전히 대체합니다.예에서는 이든 간에 인스턴스의 "이러한 셸"로됩니다.bash(일본어판/영어)

가장 많이 사용되는 두 가지 답변을 보완하고 대조하기 위해 다음과 같이 하십시오.

솔루션 모두 효과적으로 새로고침~/.bashrc이 있어요: ,, 음, 다, 다

  • . ~/.bashrc ★★★★★★★★★★★★★★★★★」source ~/.bashrc현재세션을 유지합니다.

    • 「」를 새로고침 하는 합니다.~/.bashrc현재 셸(소싱)의 제조원에 현재 프로세스와 그 상태보존됩니다.여기에는 환경변수, 셸 변수, 셸 옵션, 셸 함수 및 명령어 이력이 포함됩니다.
  • exec bash보다 「다다」라고 하는 것입니다.exec "$BASH"는 현재 셸을 새로운 인스턴스로 대체하기 때문에 현재 셸환경변수(애드혹, 인솔)만 유지합니다[1].

    • 즉, 다음과 같습니다.셸 변수, 셸 함수, 셸 옵션, 명령어 이력 등의 측면에서 현재 셸에 대한 애드혹 변경은 모두 손실됩니다.

고객의 요구에 따라서는, 어느쪽의 어프로치가 선호될 수 있습니다.


주의: 위의 내용은 다른 셸에도 동일하게 적용됩니다.

  • 「 」를 exec기본 셸에 대한 접근법,exec $SHELL
  • 에서는, 셸, 지정할 를 들어, 「」는 「」입니다.예를 들어 다음과 같습니다.zsh. ~/.zshrc

[1]exec bash이론상으로는 다른 을 할 수 있다 bash셸을 보다 먼저 하는 경우 파일.$PATH$BASH셸을 가 항상 되어 있습니다.exec "$BASH"는 반드시 같은 실행 파일을 사용합니다.
re 모조 a a"..."위에 $BASH: 는 변수 Bash에 되지 않고 되는 것을 셸 메타 경우 가되어 있지 않은 경우, 이중 따옴표를 사용할. 이중 따옴표는 변수 값이 Bash에 의해 해석되지 않고 그대로 사용되는 것을 보증합니다.이 값에 공백이나 다른 셸 메타 문자(이 경우 가능성이 높음)가 없는 경우, 이중 따옴표는 엄밀하게 필요하지 않지만 그것들을 사용하는 것은 좋은 습관입니다.

누군가가 잘못된 영어를 추가하도록 제 답변을 수정했지만, 여기 원문이 있어서, 이것은 받아들여진 답변보다 열등합니다.

. .bashrc

이렇게 하면 "source ~/.bashrc"를 입력할 필요도 없습니다.

bashrc 파일 포함:

alias rc="vim ~/.bashrc && source ~/.bashrc"

bashrc를 편집하려면 항상 "rc" 별칭을 실행하십시오.

사용자 환경에 따라 입력만 하면 됩니다.

bash

동작할 수도 있습니다.

. ~/.bashrc

.POSIX pos pos pos pos pos


대체 수단

source ~/.bashrc

source는 점입니다..POSIX sh에서는 사용할 수 없기 때문에 호환성을 최대화하기 위해 마침표를 사용합니다.

exec bash
  • exec명령어는 셸을 지정된 프로그램으로 바꿉니다.– WhoSayIn

exec bash덧붙이자면.$SHELL인 bash합니다.다음을 사용하면 bash뿐만 아니라 현재 셸을 새로고침합니다.

exec $SHELL -l;

based server easyengine을 .
./etc/bash.bashrc.

★★★★★★★★★★★★★★★★★.source /etc/bash.bashrc★★★★★★★★★★★★★★★★★★★★★★★★★★!

갱신하다

베어 서버(ubuntu 16.04)를 셋업 할 때는, 유저명을 셋업 하지 않고, root 경유로 로그인 하고 있는 경우에, 상기의 정보를 사용할 수 있습니다.

사용자(sudo 권한)생성하고 대신 이 사용자 이름으로 로그인하는 것이 좋습니다.
다음과 같은 설정을 위한 디렉토리가 생성됩니다..profile ★★★★★★★★★★★★★★★★★」.bashrc자원

(그리고) ( )source의 개요~/.bashrcfilename을 클릭합니다.

서버에서는, 은 내버음음음, 음음음음음음음음음음 on on on에 있습니다./home/your_username/.bashrc
서 (어디서)your_username실제로는 위에서 작성한 새로운 사용자 이름입니다.

, 하고, 「 쪽인가」, 「어느 쪽인가」를 지정할 ..bashrcSSH ssh ssh ssh 、 SSH 。에 Ubuntu를하고 있는 서 Ubuntu는 Ubuntu를 실행하고 있습니다..profile 아니라, 이에요..bashrc ★★★★★★★★★★★★★★★★★」.bash_profile을 사용하다에서 임의의 .bashrc 했다.source ~/.bashrc세션이 열릴 때마다 원격 배포 실행 시 도움이 되지 않습니다.

.bashrc 시 됩니다. 이 . 추가해 보십시오..profile:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

다시 엽니다. 이 됩니다..bashrc.

PATH가 exec "$BASH" --login

msysgit에서 다음 명령을 사용합니다.

. ~/.bashrc

단축판

source ~/.bashrc

대화형 셸을 사용하고 현재 명령 기록을 유지하고 /etc/bashrc를 포함한 환경 데이터 및 Mac OS X에서 path_helper를 통해 /etc/paths.d/에 정의된 경로를 로드하는 /etc/bashrc를 로드하는 환경 데이터)를 로드하려면 명령 기록을 추가하고 로그인('-l' 옵션)을 사용하여 bash 실행을 수행합니다.

history -a && exec bash -l

로그아웃 후 다시 로그인 시 셸을 원한다는 것을 알고 있습니다.이를 실현하는 최선의 방법은 다음과 같습니다.

exec env -i HOME="$HOME" "$SHELL" -l

exec는 현재 셸을 대체하여 새로운 셸이 종료될 때 셸이 남아 있지 않도록 합니다. env 빈.-i we we we we we$HOME통상 bash)가 "bash"에 의해 수 .$SHELL 수 있다~/.profile/~/.bash_profile ( 또는 ) (Ubuntu)~/.bashrc은, 「」에 됩니다.-l실히확

하게 눈에 .exec bash에 ""를 사용해야 합니다.exec -c bash배시

를 들어 bash에 하여 "bash"라고 .export A=1, 「」를 참조해 주세요.exec bash , . . . . . . . .A == 1

당신이 가 if if if ifexec -cl bash,A어어있있있있다다

이게 당신 일을 하는 가장 좋은 방법이라고 생각해요.

$치 않은 결과를 초래할 수 하십시오.$SHEL이 예기치 않은 결과를 초래할 수 있음에 주의해 주십시오.
된 도커 환경입니다.

echo $SHELL
/usr/sbin/nologin

그래서 시도하면 연결이 끊길 수 있습니다.

exec $SHELL
This account is currently not available.

그래서 좀 더 복잡한 걸 써야 할 수도 있어요

exec $(pgrep -l sh | grep "^`echo $$` " | cut -d" " -f2)

모든 셸에 "sh"가 포함되어 있고 이 명령어 파이프라인이

pgrep -l sh | grep "^`echo $$` " | cut -d" " -f2

됩니다.
또는 ,3,4를 .

pgrep -l sh | grep "^`echo $$` " | sed -E 's/^[0-9]+ //'

위의 .
하지만그것은 당신에 달려있습니다.

이것 또한 효과가 있을 것이다.

cd ~
source .bashrc

저는 bash_magic이라고 불리는 스크립트를 작성했습니다.이 스크립트는 여러 셸에 걸쳐 이 프로세스를 자동화합니다.bash 매직셸 디렉토리의 셸 파일을 갱신하는 경우(.bash.d디폴트)는, 다음의 프롬프트에서 자동적으로 업데이트를 송신합니다.그러니 일단 변화를 주고 나면Enter/return키 및 모든 업데이트가 제공됩니다.

언급URL : https://stackoverflow.com/questions/2518127/how-to-reload-bashrc-settings-without-logging-out-and-back-in-again

반응형