변경 후 .bash_profile을 자동으로 얻을 수 있나요?

변경 후 .bash_profile을 자동으로 얻을 수 있나요?

나는 이것을 할 수 있는 방법이 있는지 항상 궁금했습니다. source변경 후에는 입력하고 싶지 않았습니다 ..bash_profile

답변1

자동으로 발생하도록 약간의 작업만 수행하면 됩니다.PROMPT_COMMAND그리고-nt태그된 파일 포함. ~/.bash_profile파일에 넣으면 다음과 같습니다 .

touch /tmp/bash_profile-$$
resource_profile() {
    [ ~/.bash_profile -nt /tmp/bash_profile-$$ ] && source ~/.bash_profile
}
PROMPT_COMMAND=resource_profile

/tmp그런 다음 쉘이 시작되면 빈 태그 파일이 생성됩니다.PID그것을 식별하는 쉘.

쉘은 resource_profile프롬프트를 표시하기 전에 매번 이 기능을 실행합니다. 이 기능은 마지막으로 가져와서 업데이트한 이후( ) 태그 파일이 변경되었는지 확인하고 ~/.bash_profile, 변경된 경우 자동으로 변경합니다. 파일을 가져오면 다음에 태그 파일이 다시 업데이트됩니다.-ntsource ~/.bash_profile

이는 완벽한 방법이 아닙니다. 파일 시스템에 따라 파일 원본 직후에 변경된 사항이 감지되지 않을 수 있습니다. 파일은 명령을 실행하거나 를 누른 후에만 확인됩니다 Enter. 이는 가능한 순간에 가깝지만 정확히 순간적이지는 않습니다.

시스템의 구성 파일에 따라 다른 사람이 디렉토리에 액세스할 수 없는 다른 위치에 태그 파일을 배치하는 것을 선호할 수도 있습니다. 다음과 같은 것을 만드는 것도 가능합니다.stat(1)만약 그렇다면 태그 파일을 모두 사용하지 마십시오.

관련 정보