.bashrc 대신 .profile에서 쉘 완성을 정의하면 어떤 이점이 있나요?

.bashrc 대신 .profile에서 쉘 완성을 정의하면 어떤 이점이 있나요?

내가 아는 한, Bash에서는 /etc/profile, ~/.profile및 가 ~/.bash_profile하위 프로세스와 하위 셸(주로 환경 변수)에 걸쳐 지속되는 설정에 사용되는 반면 /etc/bashrc~/.bashrc는 존재하지 않는 설정에 사용됩니다. Bash 완성 설정이 상속되지 않는다고 확신하기 때문에 항상 후자의 파일 세트에 있기를 바랍니다. 그러나 좀 더 지식이 풍부한 누군가가 해당 설정을 배치했거나 배치하도록 권장한 몇 가지 사례를 발견했습니다. "구성" 파일" 파일에:

  • Ubuntu(20.04 기준)에서 설치 패키지는 기본 Bash 완료 스크립트를 제공하는 bash-completion파일 /etc/profile.d/(에서 제공 )을 추가합니다./etc/profile

  • 스스로 만든~의bash-completion공식사용자는 다음을 수행하는 것이 좋습니다.

    Add the following line to your ~/.bash_profile:
      [[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"
    

이러한 패키지가 구성 파일을 사용하는 이유에 대한 최선의 추측은 구성 파일에서 소스를 얻지 못하는 사용자를 보상하는 것이지만 ~/.bashrc(적어도 Ubuntu에서는) 기본 소스 기본 소스를~/.profile~/.bashrc~/.bashrc

이러한 패키지에 bashrc 파일 대신 구성 파일의 일부로 완료 스크립트가 있는 이유는 무엇입니까? 이렇게 하면 어떤 이점이 있나요?

관련 정보