내가 아는 한, 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 파일 대신 구성 파일의 일부로 완료 스크립트가 있는 이유는 무엇입니까? 이렇게 하면 어떤 이점이 있나요?