루비 스크립트 외부에서 '소스 bash_profile` 명령을 어떻게 지속합니까?

StackOverflow https://stackoverflow.com/questions/19850945

문제

우리가하려는 것은 전화입니다 source bash_profile bash_profile 파일을 다시로드하려면 스크립트는 사람의 bash_profile을 잡고 사람의 컴퓨터에로드합니다. 문제는 source bash_profile 루비 스크립트 외부에서는 지속되지 않습니다. 스크립트가 끝나면 터미널은 이전과 동일하게 보입니다. 우리가 어떻게 그렇게 할 수 있습니까? source bash_profile 루비 스크립트 외부에서 지속 되나요?

올바른 솔루션이 없습니다

다른 팁

그만큼 bash_profile 일반적으로 BASH 환경 (함수, 별칭, 변수, 읽기 바인딩 등 설치)을 수정하고 실제로 부모의 배쉬 프로세스의 환경을 수정할 방법이 없습니다.

그래서 당신이 할 수있는 최선은 Ruby Script를 끝내는 것입니다. exec새 배쉬를 지정합니다 -l (또는 --login) 옵션을 만들기위한 옵션 로그인 쉘 소싱으로 시작할 수 있습니다 bash_profile. (논쟁의 첫 번째 성격을 만들어서 이것을 할 수 있습니다. -, 보통 설정함으로써 -bash.)

루비 스크립트가 시작되는 방식을 제어 할 수 있다면 execEd는 부모의 배쉬 프로세스를 대체하기 위해. 그것은 더 깨끗한 프로세스 트리를 만들 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top