나는 다음과 같은 bash 함수를 작성했습니다.위로github를 통해 공유합니다. 이제 설치 지침에 어려움을 겪고 있습니다. "설치" bash 기능에는 두 가지 옵션이 있다는 것을 알고 있습니다.
- 그것들을 넣어라
.bashrc
- .bash_functions라는 파일에 넣고 해당 파일을
.bashrc
그래서 내 생각은 기능을 다운로드하고 .bashrc
그에 따라 파일을 수정하는 것이 좋습니다.
유사한 프로젝트에서 이를 어떻게 구현하는지 살펴보았는데, 그 중 일부는 .bashrc
설치 시 파일을 조작하기도 했습니다(즉, 거기에 기능을 배치했습니다). 이렇게 하는 것이 일반적인 것 같지만 .bashrc
자동화하는 것은 나쁜 생각이라고 생각합니다.
그렇다면 선호되는 방법은 무엇입니까? 이에 대한 합의가 있습니까?
답변1
배포 방법에는 3가지가 있습니다.
- 다음에 줄 추가
$HOME/.bashrc
- 출처가 있는 파일
.bashrc
- 디렉토리에 포함될 수 있는 파일
/etc/profile.d
나는 그것이 기능의 수와 길이에 달려 있다고 말하고 싶습니다. 2개 이상의 기능이고 약간 긴 경우 사용자 파일에서 가져오거나 $HOME/.bashrc
제공한 스크립트를 통해 병합한 단일 파일(또는 여러 파일)로 배포하는 것이 좋습니다./etc/profile.d
단일 함수이거나 2개의 함수이고 짧다면 엄격하게 .txt 파일로 배포하거나 단순히 github에 코드로 게시하여 현재 폴더에 복사/붙여넣을 수 있습니다. $HOME/.bashrc
기존 파일에서 /etc/profile.d
궁극적으로 사용자에게 맡깁니다.
노트: /etc/profile.d
여러 셸(Csh, Bash, Zsh 등)용 파일이 포함되어 있습니다. 여기에 포함된 모든 파일은 다른 쉘에서도 사용됩니다. 이러한 파일의 이름은 해당 파일을 사용할 쉘을 결정합니다. A는 .csh
Csh/Tcsh를 제공하고, a .sh
는 Bash, Zsh 등을 제공합니다.
올바른 사용에 대해/etc/profile.d
궁금하다면 추가된 파일에는 /etc/profile.d
로그인 시작 시 한 번만 실행되는 명령이 포함되어 있어야 합니다. (여기에는 로그인 쉘로 시작하기 때문에 그래픽 로그인도 포함됩니다.) 쉘이 대화형인 경우 쉘을 실행하는 사용자는 아마도 로그인되어 있으므로 조상(시작한 사람 또는 시작한 사람)이 있을 수 있습니다. , 또는 시작 등) 이는 로그인 셸입니다.
AskUbuntu에서 다음과 같은 훌륭한 답변을 확인하세요.비로그인 쉘이 /etc/profile을 호출하지 않는 이유는 무엇입니까?, 대화형 쉘과 로그인 쉘의 차이점과 그 의미를 자세히 설명합니다.