투케이2K

97. (LINUX/리눅스) [쉘 스크립트 / Shell script] : trap 사용해 EXIT 종료 이벤트 감지 핸들러 등록 본문

Linux (cmd)

97. (LINUX/리눅스) [쉘 스크립트 / Shell script] : trap 사용해 EXIT 종료 이벤트 감지 핸들러 등록

투케이2K 2024. 8. 2. 18:35

[개발 환경 설정]

사용 툴 : Putty

OS : LINUX

 

[소스 코드]

 

# ------------------------------------------------------------------------------------------------
# [쉘 스크립트 / Shell script 설명]
# ------------------------------------------------------------------------------------------------

1. 쉘 스크립트 는 Shell 이나 command line 인터프리터에서 구동되도록 작성된 스크립트입니다.

2. 윈도우 배치 파일 (.bat) 개념과 비슷하며, 쉘 스크립트 동작으로 정의 된 명령이 자동으로 수행됩니다.

# ------------------------------------------------------------------------------------------------





# ------------------------------------------------------------------------------------------------
# [사전) 쉘 스크립트 파일 생성 및 권한 설명 참고 사이트]
# ------------------------------------------------------------------------------------------------

https://blog.naver.com/kkh0977/222808230519?trackingCode=blog_bloghome_searchlist

# ------------------------------------------------------------------------------------------------





# ------------------------------------------------------------------------------------------------
# [소스 코드]
# ------------------------------------------------------------------------------------------------

#!/bin/sh

# [HELLO] --------------------------------------------------

echo ""
echo "-------------------------------------------"
echo "Hello Linux Shell Script"
echo "-------------------------------------------"
echo ""

# [START] --------------------------------------------------

# [함수 생성 수행] : [exit 종료 감지 핸들러]
exitHandler() {
    echo ""
    echo "-------------------------------------------"
    echo "array empty exit : $1"
    echo "-------------------------------------------"
    echo ""
}


# [trap] : [종료 수행 감지 핸들러 등록]
trap 'exitHandler $?' EXIT


# [변수 선언 수행]
array=()


# [배열 Empty 값 확인]
result_length=$(echo ${#array[@]})

if [ ${#array[@]} -eq 0 ]; then

    # --------------------------------------------------
    # [종료 상태로 사용할 수 있는 값의 범위는 0 부터 255 까지입니다]
    # --------------------------------------------------
    # [0은 성공, 1 ~ 255 는 오류 코드(error code)로 인식됩니다]
    # --------------------------------------------------
    # [종료 수행]
    # --------------------------------------------------
    exit 100
fi




#[로그 출력 수행]
echo ""
echo "-------------------------------------------"
echo "array :: ${array}"
echo "-------------------------------------------"
echo ""

# [END] ---------------------------------------------------

# ------------------------------------------------------------------------------------------------





# ------------------------------------------------------------------------------------------------
# [결과 출력]
# ------------------------------------------------------------------------------------------------

$ ./test.sh

-------------------------------------------
Hello Linux Shell Script
-------------------------------------------


-------------------------------------------
array empty exit : 100
-------------------------------------------

# ------------------------------------------------------------------------------------------------

 

반응형
Comments