GNU autotools를 사용하여 일부 셸 스크립트를 구성하고 설치하는 작은 프로젝트가 있습니다.
이제 스크립트는 일부 셸 함수가 포함된 공개 파일을 가져와야 합니다.
이 파일은 어디에 설치해야 합니까 make install
?
에 따르면"설치 디렉터리 변수” libexecdir
실행 파일(셸 기능을 포함하는 파일 자체는 실행 파일이 아님) 및 datadir
아키텍처 독립적 데이터(파일은 아키텍처에 따라 다름)의 경우입니다.
쉘 기능만 포함된 파일을 설치하기 위해 이러한 경로(또는 다른 설치 경로) 중 하나를 사용하는 선례가 있습니까? 이러한 기능은 현재 독립적으로 사용할 수 없습니다.
답변1
설치될 기능은 쉘의 컨텍스트에 있습니다.
그러니 거기에 보관하세요:~/.bash_functions
셸이 로드될 때마다 명령, ~/.bashrc
심지어 aliases 도 로드됩니다 ~/.bash_aliases
. 이는 쉘 스크립트이므로 쉘 PATH 변수에 명령을 추가하거나 별칭을 설정하면 됩니다. 함수를 정의하는 쉘 스크립트도 여기에서 정의해야 합니다.
.profile
그런 다음 또는 뒤에 한 줄을 추가하여 .bashrc
종속된 터미널이나 쉘 스크립트의 시작 부분에 로드되었는지 확인하세요.
if [ -f ~/.bash_functions ]; then
. ~/.bash_functions
fi
필요에 따라 파일에 함수를 추가합니다.
#!/bin/bash
# ~/.bash_functions file
function_one () {
echo "hi"
}
function_two() {
...