
Raspbian (Debian Wheezy)을 실행하는 Raspberry Pi가 있습니다. set
터미널에 들어가 보니 목록이 너무 많아서 놀랐습니다. 이것은 거의 전적으로 git 함수인 것 같습니다. 약 3700줄입니다.
__git_all_commands=
__git_diff_common_options=$'--stat --numstat --shortstat --summary\n\t\t\t--patch-with-stat --name-only
...
내 질문은 그들이 어떻게 거기에 도착했고 왜 그랬는가입니다.
git
가끔 패키지를 받아 본 적도 있어요 .
평소 용의자 를 모두 확인했습니다 /etc/profile
,,,,/etc/bash.bashrc
.bashrc
.profile
스크립트를 찾았습니다 /etc/bash_completion.d/git
(이전에 bash_completion에 대해 들어본 적이 없었습니다). 이것이 무엇을 하는지, 그리고 정확히 어디에서 호출되는지 알아내기 위해 좀 더 연구를 해야 합니다.
난 아직 알아내야 해왜git
일년에 한두 번만 사용할 때 모든 로그인 셸에서 이것을 실행하고 싶습니다 . (라즈베리 파이에는 RAM이 정확히 과잉 부여되지는 않았습니다.) 내 Mac에서는 이런 일이 발생하지 않는 것 같습니다.
답변1
이러한 함수는 에 대한 셸 완성 지원의 일부입니다 git
. 이는 Git 소프트웨어의 일부로 유지됩니다. Raspbian의 기반인 Debian은 bash 완료 설정을 패키지에 배포합니다 git
. 함수는 /etc/bash_completion.d/git
bash에 대한 다른 명령 완성 지원과 동일한 디렉터리에 있습니다 .
의 모든 파일은 /etc/bash_completion.d
bash의 프로그래밍 가능 완성 설정의 일부로 로드됩니다 /etc/bash_completion
. 데비안의 기본 .bashrc
로드는 /etc/bash_completion
명령별 완성을 원하지 않으면 편집할 수 있습니다.
git을 사용하지 않는 경우 패키지를 제거하세요 git
. 패키지가 설치 되어 있으면 git
아마도 때때로 git
명령을 실행하여 제대로 완료되기를 원할 것입니다. “저는 git을 거의 사용하지 않고 몇 킬로바이트의 RAM을 절약하고 싶습니다.”는 데비안에서도 너무 미세한 구분입니다.
해당 완성 파일을 건너뛰고 다른 파일을 사용하려면 다음을 수행하세요.방향을 바꾸다파일을 에서 건너뛰게 하는 이름으로 변경합니다 /etc/bash_completion
. 파일 전환은 패키지 관리자에게 다른 위치에 있는 파일에 업데이트 및 제거를 적용하도록 지시하는 방법입니다.
dpkg-divert --add --local --rename --divert /etc/bash_completion.d/git.dpkg-diverted /etc/bash_completion.d/git
답변2
로그인 시 포함되는 전역 및 사용자별 스크립트가 있습니다( /etc/profile
, $HOME/.profile
, $HOME/.bash_profile
, $HOME/.bash_login
).
대부분의 배포판에서 일부 디렉터리(예: 또는 이와 유사한 것)의 내용은 /etc/env.d/*
일반적으로 전역 스크립트에 포함됩니다. 여기서 패키지는 로그인할 때마다 소스가 제공되는 자체 환경 설정 스크립트를 넣을 수 있습니다.