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
1년에 한두 번만 사용하면 모든 로그인 셸에서 실행하고 싶습니다. (라즈베리 파이에는 RAM이 너무 많지 않습니다.) 내 Mac에서는 이런 일이 발생하지 않는 것 같습니다.
답변1
이러한 기능은 쉘 쌍입니다 git
. Git 소프트웨어의 일부로 유지됩니다. Debian(Raspbian 기반)은 git
bash 완료 설정을 패키지로 배포합니다. 이러한 기능은 /etc/bash_completion.d/git
bash의 다른 명령 완성 지원과 동일한 디렉터리에 있습니다 .
모든 파일은 Debian에서 기본적으로 로드되는 /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/*
이와 비슷하거나 비슷한 것)은 전역 스크립트에 포함되는 경우가 많습니다. 여기서 패키지는 로그인할 때마다 선택되는 자체 환경 설정 스크립트를 넣을 수 있습니다.