.bashrc에 여러 파일을 어떻게 추가하나요?

.bashrc에 여러 파일을 어떻게 추가하나요?

더 쉬운 버전 관리를 위해 각 Bash 함수를 별도의 파일에 작성하고 모든 것을 내 .bashrc.

예를 들어보다 더 강력한 방법이 있습니까?

. ~/.bash_functions/*.sh

답변1

적절한 오류 검사로 둘러싸십시오.

fn_dir=~/.bash_functions
if [ -d "$fn_dir" ]; then
    for file in "$fn_dir"/*; do
        [ -r "$file" ] && . "$file"
    done
fi

답변2

한 번에 여러 파일을 소싱하는 경우 연결된 출력의 리디렉션을 생성하여 수행할 수 있습니다. 예를 들면 다음과 같습니다.

source <(cat ~/.bash_functions/*.sh)

강력한 부분에 관해서는 소스에 관계없이 오류 검사를 적절하게 설정해야 할 것입니다. 예를 들면 다음과 같습니다.

source <(cat ~/.bash_functions/*.sh)||echo "ERROR: failed while sourcing $?";exit 1

다음은 소스 파일 자체를 확인할 수도 있는 또 다른 코드 조각입니다.

sourced_files=$(source <(cat ~/.bash_functions/*.sh) 2>&1 > /dev/null)
if [ -n "$sourced_files" ]; then
 echo "ERROR: nonzero returned"
fi

가능한 경우 소스에 오류 유효성 검사를 추가하고 사용자 정의 오류 코드를 사용하면 오류가 발생한 위치를 더 잘 추적할 수 있다면 더 좋을 것입니다. 예를 들면 다음과 같습니다.

err=0
...
...
# your shell script
...
some-command-i-wanna-check
if [ "$?" -ne 0 ];then
 echo "ERROR: my failed description"
 err=101
 exit $err 
fi

관련 정보