MEMO/기술 자료/Bash/Shell
[Bash/Shell] 파일 존재여부를 확인하는 함수
Kinesis
2024. 2. 1. 12:05
반응형
"스크립트 길이에 따른 관리 Tip"에서 작성한 대로 main 스크립트에서 하위 스크립트를 불러와 상호 연계를 하려면 실행 전에 미리 작성해 두었던 파일들이 온전히 존재하는지 검사할 필요가 있다.
스크립트 실행의 정확도, 즉 신뢰도를 올리기 위한 방법이기도 하고. 어느정도 무결성을 보장하고자 하는 노력의 일환이다.
그걸 위해 미리 테스트 해 두었던 파일 존재 여부 확인 함수는 아래와 같다.
#!/bin/bash
###############################################################################################
# File Exist Check
# ---------------------------------------------------------------------------------------------
# Call Example : check_files_exist_and_not_empty exit_code "file_path1" "file_path2" ...
# ---------------------------------------------------------------------------------------------
function check_files_exist_and_not_empty() {
local exit_code="${1:-130}"; shift;
for file_path in "$@"; do
if [[ ! -s "$file_path" ]]; then
echo "Error: File '$file_path' does not exist or is empty.";
exit "$exit_code";
fi;
done
}
사용 방법은 Call Example 주석에도 작성되어 있으나 다음과 같다.
check_files_exist_and_not_empty 130 "./ScriptParts/func_chk_mutex.sh" \
"./ScriptParts/func_chk_permissions.sh"
추가로 설명하자면 130 code 는 스크립트 실행이 중지되었음을 의미하는 코드이며 필요나 목적에 따라 다른 코드를 사용해도 무관하다. 필요하다면 아래 링크를 참조하면 좋다.
반응형