터미널 창을 닫고 새로 시작하는 대신 터미널 창을 다시 초기화하는 방법은 무엇입니까?


49

별칭 설정과 같은 셸 / bash 동작을 변경하면 새 창을 닫거나 여는 대신 터미널 창을 다시 초기화하는 빠른 명령이 있습니까?

답변:


51

.bashrc 구성을 다시로드한다는 의미는 다음과 같습니다.

source ~/.bashrc

타이핑을 source줄이려면 점으로 바꿀 수 있습니다 .. ~/.bashrc


2
여기에 질문이 있습니다. 이것은 어떻게 다른 방식으로 작동 source ~/.bashrc합니까?
crasic

그렇지 않습니다. bash 매뉴얼 페이지를 보면 명령이 동등한 것으로 나열되어 있음을 알 수 있습니다.
Carsten Thiel

2
sourcebash에만 해당됩니다. .더 표준입니다. 둘 다 bash에서 동일하게 작동합니다.
Michael Terry

1
이것은 PATH와 일부 환경 변수를 다시로드합니다. 아무것도 "재설정"하지 않습니다. @NES의 답변이 맞습니다.
Cerin

2
PATH 업데이트가 있으면 이전 업데이트와 새 업데이트가 생깁니다.
Constantin

39

reset / tset 명령의 맨 페이지에서 찾은 일부 추가

tset 리셋 터미널 초기화

명령: reset

Tset은 터미널을 초기화합니다. Tset은 먼저 사용중인 터미널 유형을 결정합니다. 이 결정은 발견 된 첫 번째 터미널 유형을 사용하여 다음과 같이 수행됩니다.

이점은 사용 된 쉘과 독립적이라는 것입니다. 여기 물고기와 함께 작동합니다.

따라서 터미널을 다시 초기화하려면

$ tset

또는

$ reset

불행히도 이것은 잘못된 것입니다. 기존 환경 변수를 재설정하지 않습니다.
isarandi

9

에 대한 추가 옵션 exec bash.profile(또는 .bash_profile) 을 변경 하면

$ exec bash --login

프로필도 다시 읽습니다. -ibash에게 이것이 대화 형 쉘이라는 것을 명시 적으로 알리는 옵션 을 추가하는 것은 아프지 않지만 일반적으로 스스로 알아낼 수 있습니다.


나를 위해 너무 간부없이 작동
아르 멘 Sanoyan에게

불행히도 잘못되었습니다. 이미 설정된 환경 변수는 여전히 있으며 재설정되지 않습니다.
isarandi

6

실행중인 응용 프로그램 / 쉘을 새 인스턴스 로 바꿔야 합니다. 예를 bash들어, 선호하는 쉘 유형을 사용 하는 경우 명령 행에서 다음 행을 입력하십시오 ( $ 는 명령 행 시작의 자리 표시 자입니다).

> $ exec bash

실행중인 응용 프로그램 / 셸은 bash처음부터 시작 하는 것과 같은 새로운 인스턴스로 대체됩니다 . 이전의 모든 수정 사항이 사라졌습니다.

비고 : 터미널 응용 프로그램이 다시 프로그래밍 될 수 있음을 잊지 마십시오. 터미널 응용 프로그램을 수동으로 재설정해야합니다.


2
"재 프로그램 된"은 무엇을 의미합니까?
Eliah Kagan

0

쉘은 호출 할 수있는 실행 파일입니다. bash를 사용하는 bash경우 전화를 걸 수 있으며 zsh와 같은 다른 것을 사용하는 경우 입력하면됩니다.zsh


0

사용하십시오 exec sudo --login --user $USER.

이전에 입력 한 명령을 디스 퍼링하려면 (터미널의 전체 재설정) 다음과 reset같이 결합하십시오.reset; exec sudo --login --user $USER

웹에는 많은 답변이 있지만 실제로는 대부분 작동하지 않습니다. 테스트하는 쉬운 방법은 export SOMEVAR=42재설정 명령 을 설정 하고 실행하는 것 echo $SOMEVAR입니다. 42이면 환경이 재설정되지 않은 것입니다.

이 또한 exec -c bash -lexec env -i bash -l있지만, 이들은 어떻게 든은 $ HOME 변수는이 이후에 설정되지 않은, 끊어집니다.

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