Bash를 완전히 다시 시작하십시오.


18

강타하고 다시로드를 다시 시작 완전하게 할 수있는 방법이 있나요 .bashrc.profile등? 이 파일을 편집 한 후 변경 사항이 제대로 작동하는지 확인하고 싶습니다.

답변:


32

자체로 교체하십시오.

exec bash -l

이것은 cwd 또는 내 보낸 변수와 같은 것에 영향을 미치지 않습니다.


나의 경우, 니스,하지만 난 확인하고보고하기 위해이 작업을 수행하는 것, 특히 같은 PATH내 내가 원하는대로 설정중인 또는 PS1
Naftuli 케이

1
를 꺼내고 exec원하는 파일을 제공하는 쉘을 얻습니다. 그런 다음 exit확인이 끝나면.
Arcege

@TK : 할당 한 변수 는 이전 셸에서 남은 변수 보다 우선합니다.
Ignacio Vazquez-Abrams

Bash 프롬프트를 변경하는 데 도움이됩니까? 즉, 실행할 때마다 bash 프롬프트를 다시로드합니까?
Naftuli Kay

$PS1bash의 시작 파일에서 설정하는 한 가능합니다.
Ignacio Vazquez-Abrams

9

별도의 창 / 화면에 로그인하는 것이 시급합니다. 이렇게하면 시작 파일 변경에 문제가있는 경우에도 여전히 작업중인 세션이 있습니다. 또한 깨끗한 환경을 유지해야합니다.

이유 : 프로필에 간단한 오타가 있기 때문에 너무 많은 사람들이 시스템에서 자신을 잠그는 것을 보았습니다.


+10, 편집을 변경할 수있는 깨끗한 쉘이 필수적입니다.
Sardathrion-복원 Monica Monica

나는 DE에있어서 그렇게 나쁘지 않아야합니다, 바우 하우스 예, 조심하십시오.
Naftuli Kay

3

수정 된 파일을 다시 읽는 것이 목표라면 다시 시작할 필요가 없습니다. 간단히 소싱 할 수 있습니다.

source filename

또는

. filename # notice the dot

이것은 설정된 변수 나 정의 된 함수를 설정 해제하지 않는다는 의미에서 "깨끗한 상태"를 제공하지 않습니다.


2
su -l yourOwnUserName

yourOwnUserName모든 설정을 다시로드하여 사용자를 위해 새로운 쉘을 엽니 다 . 특정 쉘이 아닌 시스템 설정을 나타내므로 쉘에 독립적입니다. 또한 bash -l사용자 그룹과 같은 일부 시스템 전체 설정을로드합니다 .


중요 사항 : 여기서 "새 쉘"은 기존 쉘 내의 쉘을 의미하므로 원래 쉘을 대체하지 않고 중첩 쉘만 있습니다. 받아 들인 대답은 올바르게 수행합니다.
underscore_d
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.